@angular-wave/angular.ts 0.0.16 → 0.0.17

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 (298) hide show
  1. package/README.md +5 -3
  2. package/dist/angular-ts.esm.js +1 -1
  3. package/dist/angular-ts.umd.js +1 -1
  4. package/index.html +66 -57
  5. package/package.json +1 -1
  6. package/rollup.config.js +2 -6
  7. package/src/animations/animate-children-directive.js +1 -1
  8. package/src/animations/animate-css-driver.js +1 -1
  9. package/src/animations/animate-css.js +220 -15
  10. package/src/animations/animate-js-driver.js +1 -1
  11. package/src/animations/animate-js.js +2 -2
  12. package/src/animations/animate-queue.js +3 -4
  13. package/src/animations/animation.js +1 -1
  14. package/src/animations/module.js +750 -0
  15. package/src/animations/shared.js +15 -4
  16. package/src/core/animate-runner.js +1 -1
  17. package/src/core/animate.js +4 -5
  18. package/src/core/compile.js +6 -7
  19. package/src/core/controller.js +4 -3
  20. package/src/core/filter.js +1 -1
  21. package/src/core/interpolate.js +1 -1
  22. package/src/core/interval-factory.js +1 -1
  23. package/src/core/interval.js +1 -1
  24. package/src/core/location.js +1 -1
  25. package/src/core/parser/parse.js +1 -1
  26. package/src/core/q.js +2 -3
  27. package/src/core/root-scope.js +1 -1
  28. package/src/core/sanitize-uri.js +1 -1
  29. package/src/core/sce.js +1 -1
  30. package/src/core/task-tracker-factory.js +1 -1
  31. package/src/core/timeout.js +1 -1
  32. package/src/core/urlUtils.js +1 -1
  33. package/src/directive/attrs.js +1 -1
  34. package/src/directive/bind.js +1 -1
  35. package/src/directive/class.js +2 -2
  36. package/src/directive/events.js +1 -1
  37. package/src/directive/form.js +1 -1
  38. package/src/directive/include.js +1 -1
  39. package/src/directive/input.js +1 -1
  40. package/src/directive/list.js +2 -2
  41. package/src/directive/model-options.js +1 -1
  42. package/src/directive/model.js +1 -1
  43. package/src/directive/options.js +2 -3
  44. package/src/directive/ref.js +1 -1
  45. package/src/directive/repeat.js +1 -1
  46. package/src/directive/select.js +1 -1
  47. package/src/directive/switch.js +1 -1
  48. package/src/directive/transclude.js +1 -1
  49. package/src/directive/validators.js +1 -1
  50. package/src/exts/aria.js +1 -1
  51. package/src/exts/messages.js +3 -3
  52. package/src/exts/messages.md +28 -31
  53. package/src/filters/filter.js +2 -3
  54. package/src/filters/filters.js +1 -1
  55. package/src/filters/limit-to.js +1 -1
  56. package/src/filters/order-by.js +2 -3
  57. package/src/injector.js +8 -9
  58. package/src/jqLite.js +3 -4
  59. package/src/loader.js +1 -3
  60. package/src/public.js +1 -1
  61. package/src/router/common/coreservices.js +5 -0
  62. package/src/router/{core/common → common}/queue.js +1 -1
  63. package/src/router/{core/common → common}/trace.js +21 -19
  64. package/src/router/{adapter/directives → directives}/stateDirectives.js +24 -28
  65. package/src/router/{adapter/directives → directives}/viewDirective.js +10 -9
  66. package/src/router/{core/globals.js → globals.js} +13 -3
  67. package/src/router/{core/hooks → hooks}/coreResolvables.js +6 -4
  68. package/src/router/{core/hooks → hooks}/lazyLoad.js +5 -2
  69. package/src/router/{core/hooks → hooks}/redirectTo.js +1 -1
  70. package/src/router/{core/hooks → hooks}/resolve.js +5 -4
  71. package/src/router/{core/hooks → hooks}/updateGlobals.js +1 -1
  72. package/src/router/{core/hooks → hooks}/views.js +2 -3
  73. package/src/router/index.js +60 -0
  74. package/src/router/{adapter/injectables.js → injectables.js} +9 -9
  75. package/src/router/{adapter/locationServices.js → locationServices.js} +19 -12
  76. package/src/router/{core/params → params}/param.js +5 -10
  77. package/src/router/{core/params → params}/paramType.js +4 -4
  78. package/src/router/{core/params → params}/paramTypes.js +4 -3
  79. package/src/router/{core/params → params}/stateParams.js +1 -1
  80. package/src/router/{core/path → path}/pathNode.js +2 -2
  81. package/src/router/{core/path → path}/pathUtils.js +13 -7
  82. package/src/router/{core/resolve → resolve}/resolvable.js +5 -5
  83. package/src/router/{core/resolve → resolve}/resolveContext.js +16 -6
  84. package/src/router/router.js +171 -72
  85. package/src/router/{adapter/services.js → services.js} +47 -27
  86. package/src/router/{core/state → state}/stateBuilder.js +14 -10
  87. package/src/router/{core/state → state}/stateMatcher.js +2 -3
  88. package/src/router/{core/state → state}/stateObject.js +8 -6
  89. package/src/router/{core/state → state}/stateQueueManager.js +3 -3
  90. package/src/router/{core/state → state}/stateRegistry.js +6 -7
  91. package/src/router/{core/state → state}/stateService.js +12 -15
  92. package/src/router/{core/state → state}/targetState.js +2 -2
  93. package/src/router/{adapter/statebuilders → state}/views.js +17 -15
  94. package/src/router/{adapter/stateProvider.js → stateProvider.js} +52 -9
  95. package/src/router/{adapter/templateFactory.js → templateFactory.js} +10 -19
  96. package/src/router/{core/transition → transition}/hookBuilder.js +4 -3
  97. package/src/router/{core/transition → transition}/hookRegistry.js +3 -6
  98. package/src/router/{core/transition → transition}/rejectFactory.js +4 -5
  99. package/src/router/{core/transition → transition}/transition.js +10 -12
  100. package/src/router/{core/transition → transition}/transitionHook.js +4 -4
  101. package/src/router/{core/transition → transition}/transitionService.js +13 -13
  102. package/src/router/{core/url → url}/urlConfig.js +28 -19
  103. package/src/router/{core/url → url}/urlMatcher.js +14 -16
  104. package/src/router/{core/url → url}/urlMatcherFactory.js +7 -6
  105. package/src/router/{core/url → url}/urlRouter.js +6 -30
  106. package/src/router/{core/url → url}/urlRule.js +3 -3
  107. package/src/router/{core/url → url}/urlRules.js +10 -11
  108. package/src/router/{core/url → url}/urlService.js +12 -6
  109. package/src/router/{core/view → view}/view.js +32 -27
  110. package/src/router/{adapter/viewScroll.js → viewScroll.js} +3 -0
  111. package/src/services/anchor-scroll.js +1 -1
  112. package/src/services/browser.js +1 -1
  113. package/src/services/cache-factory.js +7 -1
  114. package/src/services/cookie-reader.js +1 -1
  115. package/src/services/http-backend.js +6 -1
  116. package/src/services/http.js +4 -5
  117. package/src/services/log.js +1 -1
  118. package/src/services/template-request.js +2 -2
  119. package/src/{router/core/common → shared}/common.js +35 -16
  120. package/src/{router/core/common → shared}/predicates.js +2 -12
  121. package/src/{router/core/common → shared}/strings.js +5 -13
  122. package/src/{core → shared}/utils.js +13 -29
  123. package/test/angular.spec.js +1 -31
  124. package/test/{ng → core}/animate.spec.js +1 -1
  125. package/test/{ng → core}/compile.spec.js +2 -3
  126. package/test/{ng → core}/http.spec.js +2 -2
  127. package/test/{ng → core}/on.spec.js +1 -1
  128. package/test/{ng → core}/parse.spec.js +1 -1
  129. package/test/{ng → core}/prop.spec.js +1 -1
  130. package/test/{ng → core}/scope.spec.js +1 -1
  131. package/test/{ng/directive → directive}/a.spec.js +4 -4
  132. package/test/{ng/directive → directive}/bind.spec.js +3 -3
  133. package/test/{ng/directive → directive}/boolean.spec.js +2 -2
  134. package/test/{ng/directive → directive}/change.spec.js +3 -3
  135. package/test/{ng/directive → directive}/class.spec.js +4 -4
  136. package/test/{ng/directive → directive}/click.spec.js +3 -3
  137. package/test/{ng/directive → directive}/cloak.spec.js +4 -4
  138. package/test/{ng/directive → directive}/constoller.spec.js +5 -5
  139. package/test/{ng/directive → directive}/element-style.spec.js +3 -3
  140. package/test/{ng/directive → directive}/event.spec.js +4 -4
  141. package/test/{ng/directive → directive}/form.spec.js +5 -5
  142. package/test/{ng/directive → directive}/href.spec.js +4 -4
  143. package/test/{ng/directive → directive}/if.spec.js +5 -5
  144. package/test/{ng/directive → directive}/include.spec.js +5 -5
  145. package/test/{ng/directive → directive}/init.spec.js +4 -4
  146. package/test/{ng/directive → directive}/input.spec.js +5 -5
  147. package/test/{ng/directive → directive}/list.spec.js +3 -3
  148. package/test/{ng/directive → directive}/model-options.spec.js +6 -6
  149. package/test/{ng/directive → directive}/model.spec.js +8 -8
  150. package/test/{ng/directive → directive}/non-bindable.spec.js +3 -3
  151. package/test/{ng/directive → directive}/options.spec.js +5 -5
  152. package/test/{ng/directive → directive}/ref.spec.js +2 -2
  153. package/test/{ng/directive → directive}/repeat.spec.js +5 -5
  154. package/test/{ng/directive → directive}/script.spec.js +3 -3
  155. package/test/{ng/directive → directive}/scrset.spec.js +3 -3
  156. package/test/{ng/directive → directive}/select.spec.js +5 -5
  157. package/test/{ng/directive → directive}/show-hide.spec.js +3 -3
  158. package/test/{ng/directive → directive}/src.spec.js +3 -3
  159. package/test/{ng/directive → directive}/style.spec.js +3 -3
  160. package/test/{ng/directive → directive}/switch.spec.js +3 -3
  161. package/test/{ng/directive → directive}/validators.spec.js +3 -3
  162. package/test/{ng/filter → filter}/filter.spec.js +4 -4
  163. package/test/{ng/filter → filter}/filters.spec.js +3 -3
  164. package/test/{ng/filter → filter}/limit-to.spec.js +3 -3
  165. package/test/{ng/filter → filter}/order-by.spec.js +2 -2
  166. package/test/injector.spec.js +1 -1
  167. package/test/jqlite.spec.js +1 -1
  168. package/test/messages/messages.spec.js +1 -1
  169. package/test/min-err.spec.js +1 -1
  170. package/test/original-test.html +4 -4
  171. package/test/router/glob.spec.js +78 -0
  172. package/test/router/state.spec.js +931 -0
  173. package/test/sanitize/bing-html.spec.js +1 -1
  174. package/test/shared/common.spec.js +283 -0
  175. package/test/shared/hof.spec.js +60 -0
  176. package/test/shared/strings.spec.js +40 -0
  177. package/test/{ng → shared}/utils.spec.js +1 -1
  178. package/types/router/angular.d.ts +1 -0
  179. package/types/router/core/common/common.d.ts +370 -0
  180. package/types/router/core/common/coreservices.d.ts +80 -0
  181. package/types/router/core/common/glob.d.ts +60 -0
  182. package/types/router/core/common/hof.d.ts +160 -0
  183. package/types/router/core/common/index.d.ts +8 -0
  184. package/types/router/core/common/predicates.d.ts +25 -0
  185. package/types/router/core/common/queue.d.ts +15 -0
  186. package/types/router/core/common/safeConsole.d.ts +5 -0
  187. package/types/router/core/common/strings.d.ts +64 -0
  188. package/types/router/core/common/trace.d.ts +114 -0
  189. package/types/router/core/globals.d.ts +45 -0
  190. package/types/router/core/hooks/coreResolvables.d.ts +4 -0
  191. package/types/router/core/hooks/ignoredTransition.d.ts +2 -0
  192. package/types/router/core/hooks/invalidTransition.d.ts +2 -0
  193. package/types/router/core/hooks/lazyLoad.d.ts +12 -0
  194. package/types/router/core/hooks/onEnterExitRetain.d.ts +4 -0
  195. package/types/router/core/hooks/redirectTo.d.ts +2 -0
  196. package/types/router/core/hooks/resolve.d.ts +5 -0
  197. package/types/router/core/hooks/updateGlobals.d.ts +2 -0
  198. package/types/router/core/hooks/url.d.ts +2 -0
  199. package/types/router/core/hooks/views.d.ts +3 -0
  200. package/types/router/core/index.d.ts +12 -0
  201. package/types/router/core/interface.d.ts +102 -0
  202. package/types/router/core/params/index.d.ts +12 -0
  203. package/types/router/core/params/interface.d.ts +606 -0
  204. package/types/router/core/params/param.d.ts +65 -0
  205. package/types/router/core/params/paramType.d.ts +65 -0
  206. package/types/router/core/params/paramTypes.d.ts +190 -0
  207. package/types/router/core/params/stateParams.d.ts +15 -0
  208. package/types/router/core/path/index.d.ts +2 -0
  209. package/types/router/core/path/pathNode.d.ts +60 -0
  210. package/types/router/core/path/pathUtils.d.ts +79 -0
  211. package/types/router/core/resolve/index.d.ts +3 -0
  212. package/types/router/core/resolve/interface.d.ts +210 -0
  213. package/types/router/core/resolve/resolvable.d.ts +69 -0
  214. package/types/router/core/resolve/resolveContext.d.ts +92 -0
  215. package/types/router/core/router.d.ts +95 -0
  216. package/types/router/core/state/index.d.ts +28 -0
  217. package/types/router/core/state/interface.d.ts +708 -0
  218. package/types/router/core/state/stateBuilder.d.ts +104 -0
  219. package/types/router/core/state/stateMatcher.d.ts +11 -0
  220. package/types/router/core/state/stateObject.d.ts +155 -0
  221. package/types/router/core/state/stateQueueManager.d.ts +24 -0
  222. package/types/router/core/state/stateRegistry.d.ts +136 -0
  223. package/types/router/core/state/stateService.d.ts +350 -0
  224. package/types/router/core/state/targetState.d.ts +100 -0
  225. package/types/router/core/transition/hookBuilder.d.ts +45 -0
  226. package/types/router/core/transition/hookRegistry.d.ts +93 -0
  227. package/types/router/core/transition/index.d.ts +20 -0
  228. package/types/router/core/transition/interface.d.ts +819 -0
  229. package/types/router/core/transition/rejectFactory.d.ts +103 -0
  230. package/types/router/core/transition/transition.d.ts +527 -0
  231. package/types/router/core/transition/transitionEventType.d.ts +17 -0
  232. package/types/router/core/transition/transitionHook.d.ts +88 -0
  233. package/types/router/core/transition/transitionService.d.ts +187 -0
  234. package/types/router/core/url/index.d.ts +8 -0
  235. package/types/router/core/url/interface.d.ts +156 -0
  236. package/types/router/core/url/urlConfig.d.ts +141 -0
  237. package/types/router/core/url/urlMatcher.d.ts +180 -0
  238. package/types/router/core/url/urlMatcherFactory.d.ts +52 -0
  239. package/types/router/core/url/urlRouter.d.ts +85 -0
  240. package/types/router/core/url/urlRule.d.ts +120 -0
  241. package/types/router/core/url/urlRules.d.ts +244 -0
  242. package/types/router/core/url/urlService.d.ts +206 -0
  243. package/types/router/core/vanilla.d.ts +1 -0
  244. package/types/router/core/view/index.d.ts +2 -0
  245. package/types/router/core/view/interface.d.ts +46 -0
  246. package/types/router/core/view/view.d.ts +167 -0
  247. package/types/router/directives/stateDirectives.d.ts +3 -0
  248. package/types/router/directives/viewDirective.d.ts +143 -0
  249. package/types/router/index.d.ts +19 -0
  250. package/types/router/interface.d.ts +491 -0
  251. package/types/router/legacy/resolveService.d.ts +44 -0
  252. package/types/router/legacy/stateEvents.d.ts +123 -0
  253. package/types/router/locationServices.d.ts +43 -0
  254. package/types/router/services.d.ts +15 -0
  255. package/types/router/stateFilters.d.ts +11 -0
  256. package/types/router/stateProvider.d.ts +254 -0
  257. package/types/router/statebuilders/onEnterExitRetain.d.ts +12 -0
  258. package/types/router/statebuilders/views.d.ts +41 -0
  259. package/types/router/templateFactory.d.ts +84 -0
  260. package/types/router/viewScroll.d.ts +9 -0
  261. package/src/animations/animate.css.md +0 -263
  262. package/src/animations/animate.md +0 -933
  263. package/src/router/adapter/statebuilders/onEnterExitRetain.js +0 -29
  264. package/src/router/core/common/coreservices.js +0 -15
  265. package/src/router/core/common/safeConsole.js +0 -37
  266. package/src/router/core/interface.js +0 -3
  267. package/src/router/core/resolve/interface.js +0 -10
  268. package/src/router/core/router.js +0 -203
  269. package/src/router/core/url/interface.js +0 -1
  270. package/src/router/core/view/interface.js +0 -1
  271. /package/src/router/{core/common → common}/glob.js +0 -0
  272. /package/src/router/{core/hooks → hooks}/ignoredTransition.js +0 -0
  273. /package/src/router/{core/hooks → hooks}/invalidTransition.js +0 -0
  274. /package/src/router/{core/hooks → hooks}/onEnterExitRetain.js +0 -0
  275. /package/src/router/{core/hooks → hooks}/url.js +0 -0
  276. /package/src/router/{core/params → params}/README.md +0 -0
  277. /package/src/router/{core/state → state}/README.md +0 -0
  278. /package/src/router/{adapter/stateFilters.js → stateFilters.js} +0 -0
  279. /package/src/router/{core/transition → transition}/interface.js +0 -0
  280. /package/src/router/{core/transition → transition}/transitionEventType.js +0 -0
  281. /package/src/{router/core/common → shared}/hof.js +0 -0
  282. /package/test/{ng → core}/cache-factor.spec.js +0 -0
  283. /package/test/{ng → core}/controller-provider.spec.js +0 -0
  284. /package/test/{ng → core}/cookie-reader.spec.js +0 -0
  285. /package/test/{ng → core}/document.spec.js +0 -0
  286. /package/test/{ng → core}/filter.spec.js +0 -0
  287. /package/test/{ng → core}/http-backend.spec.js +0 -0
  288. /package/test/{ng → core}/interpolate.spec.js +0 -0
  289. /package/test/{ng → core}/interval.spec.js +0 -0
  290. /package/test/{ng → core}/location.spec.js +0 -0
  291. /package/test/{ng → core}/q.spec.js +0 -0
  292. /package/test/{ng → core}/root-element.spec.js +0 -0
  293. /package/test/{ng → core}/sanitize-uri.spec.js +0 -0
  294. /package/test/{ng → core}/sce.spec.js +0 -0
  295. /package/test/{ng → core}/template-request.spec.js +0 -0
  296. /package/test/{ng → core}/timeout.spec.js +0 -0
  297. /package/test/{ng → core}/url-utils.spec.js +0 -0
  298. /package/{src/router/adapter/interface.js → types/router/injectables.d.ts} +0 -0
@@ -6,9 +6,9 @@
6
6
  * @packageDocumentation
7
7
  * @preferred
8
8
  */
9
- import { isFunction, isString, isArray, isRegExp, isDate } from "./predicates";
9
+ import { isDate, isFunction, isRegExp, isString } from "./utils";
10
10
  import { all, any, prop, curry, not } from "./hof";
11
- import { services } from "./coreservices";
11
+ import { services } from "../router/common/coreservices";
12
12
  export const root =
13
13
  (typeof self === "object" && self.self === self && self) ||
14
14
  (typeof global === "object" && global.global === global && global) ||
@@ -100,11 +100,27 @@ export function createProxyFunctions(
100
100
  * prototypal inheritance helper.
101
101
  * Creates a new object which has `parent` object as its prototype, and then copies the properties from `extra` onto it
102
102
  */
103
- export const inherit = (parent, extra) => Object.setPrototypeOf(parent, extra);
104
- /** Given an array, returns true if the object is found in the array, (using indexOf) */
103
+
104
+ /**
105
+ * prototypal inheritance helper.
106
+ * Creates a new object which has `parent` object as its prototype, and then copies the properties from `extra` onto it.
107
+ *
108
+ * @param {Object} parent - The object to be used as the prototype.
109
+ * @param {Object} [extra] - The object containing additional properties to be copied.
110
+ * @returns {Object} - A new object with `parent` as its prototype and properties from `extra`.
111
+ */
112
+ export function inherit(parent, extra) {
113
+ const newObj = Object.create(parent);
114
+ if (extra) {
115
+ Object.assign(newObj, extra);
116
+ }
117
+ return newObj;
118
+ }
119
+
120
+ /** Given an array, returns true if the object is found in the array, (using includes) */
105
121
  export const inArray = curry(_inArray);
106
122
  export function _inArray(array, obj) {
107
- return array.indexOf(obj) !== -1;
123
+ return array.includes(obj);
108
124
  }
109
125
  /**
110
126
  * Given an array, and an item, if the item is found in the array, it removes it (in-place).
@@ -117,10 +133,11 @@ export function _removeFrom(array, obj) {
117
133
  return array;
118
134
  }
119
135
  /** pushes a values to an array and returns the value */
120
- export const pushTo = curry(_pushTo);
121
- export function _pushTo(arr, val) {
122
- return arr.push(val), val;
123
- }
136
+ export const pushTo = curry((arr, val) => {
137
+ arr.push(val);
138
+ return val;
139
+ });
140
+
124
141
  /** Given an array of (deregistration) functions, calls all functions and removes each one from the source array */
125
142
  export const deregAll = (functions) =>
126
143
  functions.slice().forEach((fn) => {
@@ -199,7 +216,7 @@ export function pluck(collection, propName) {
199
216
  }
200
217
  /** Filters an Array or an Object's properties based on a predicate */
201
218
  export function filter(collection, callback) {
202
- const arr = isArray(collection),
219
+ const arr = Array.isArray(collection),
203
220
  result = arr ? [] : {};
204
221
  const accept = arr ? (x) => result.push(x) : (x, key) => (result[key] = x);
205
222
  forEach(collection, function (item, i) {
@@ -220,7 +237,7 @@ export function find(collection, callback) {
220
237
  export let mapObj = map;
221
238
  /** Maps an array or object properties using a callback function */
222
239
  export function map(collection, callback, target) {
223
- target = target || (isArray(collection) ? [] : {});
240
+ target = target || (Array.isArray(collection) ? [] : {});
224
241
  forEach(collection, (item, i) => (target[i] = callback(item, i)));
225
242
  return target;
226
243
  }
@@ -274,7 +291,9 @@ export const unnestR = (memo, elem) => memo.concat(elem);
274
291
  * ```
275
292
  */
276
293
  export const flattenR = (memo, elem) =>
277
- isArray(elem) ? memo.concat(elem.reduce(flattenR, [])) : pushR(memo, elem);
294
+ Array.isArray(elem)
295
+ ? memo.concat(elem.reduce(flattenR, []))
296
+ : pushR(memo, elem);
278
297
  /**
279
298
  * Reduce function that pushes an object to an array, then returns the array.
280
299
  * Mostly just for [[flattenR]] and [[uniqR]]
@@ -424,7 +443,7 @@ export function arrayTuples(...args) {
424
443
  */
425
444
  export function applyPairs(memo, keyValTuple) {
426
445
  let key, value;
427
- if (isArray(keyValTuple)) [key, value] = keyValTuple;
446
+ if (Array.isArray(keyValTuple)) [key, value] = keyValTuple;
428
447
  if (!isString(key)) throw new Error("invalid parameters to applyPairs");
429
448
  memo[key] = value;
430
449
  return memo;
@@ -443,7 +462,7 @@ export function copy(src, dest) {
443
462
  }
444
463
  /** Naive forEach implementation works with Objects or Arrays */
445
464
  function _forEach(obj, cb, _this) {
446
- if (isArray(obj)) return obj.forEach(cb, _this);
465
+ if (Array.isArray(obj)) return obj.forEach(cb, _this);
447
466
  Object.keys(obj).forEach((key) => cb(obj[key], key));
448
467
  }
449
468
 
@@ -455,11 +474,11 @@ function _equals(o1, o2) {
455
474
  t2 = typeof o2;
456
475
  if (t1 !== t2 || t1 !== "object") return false;
457
476
  const tup = [o1, o2];
458
- if (all(isArray)(tup)) return _arraysEq(o1, o2);
477
+ if (all(Array.isArray)(tup)) return _arraysEq(o1, o2);
459
478
  if (all(isDate)(tup)) return o1.getTime() === o2.getTime();
460
479
  if (all(isRegExp)(tup)) return o1.toString() === o2.toString();
461
480
  if (all(isFunction)(tup)) return true; // meh
462
- const predicates = [isFunction, isArray, isDate, isRegExp];
481
+ const predicates = [isFunction, Array.isArray, isDate, isRegExp];
463
482
  if (predicates.map(any).reduce((b, fn) => b || !!fn(tup), false))
464
483
  return false;
465
484
  const keys = {};
@@ -7,19 +7,9 @@
7
7
  * @packageDocumentation
8
8
  */
9
9
  import { and, not, pipe, prop, or } from "./hof";
10
- const toStr = Object.prototype.toString;
11
- const tis = (t) => (x) => typeof x === t;
12
- export const isUndefined = tis("undefined");
13
- export const isDefined = not(isUndefined);
10
+ import { isFunction, isObject, isString, isUndefined } from "./utils";
14
11
  export const isNull = (o) => o === null;
15
12
  export const isNullOrUndefined = or(isNull, isUndefined);
16
- export const isFunction = tis("function");
17
- export const isNumber = tis("number");
18
- export const isString = tis("string");
19
- export const isObject = (x) => x !== null && typeof x === "object";
20
- export const isArray = Array.isArray;
21
- export const isDate = (x) => toStr.call(x) === "[object Date]";
22
- export const isRegExp = (x) => toStr.call(x) === "[object RegExp]";
23
13
  /**
24
14
  * Predicate which checks if a value is injectable
25
15
  *
@@ -27,7 +17,7 @@ export const isRegExp = (x) => toStr.call(x) === "[object RegExp]";
27
17
  * where all the elements in the array are Strings, except the last one, which is a Function
28
18
  */
29
19
  export function isInjectable(val) {
30
- if (isArray(val) && val.length) {
20
+ if (Array.isArray(val) && val.length) {
31
21
  const head = val.slice(0, -1),
32
22
  tail = val.slice(-1);
33
23
  return !(
@@ -5,17 +5,9 @@
5
5
  *
6
6
  * @packageDocumentation
7
7
  */
8
- import {
9
- isArray,
10
- isFunction,
11
- isInjectable,
12
- isNull,
13
- isObject,
14
- isPromise,
15
- isString,
16
- isUndefined,
17
- } from "./predicates";
18
- import { Rejection } from "../transition/rejectFactory";
8
+ import { isInjectable, isNull, isPromise } from "./predicates";
9
+ import { isUndefined, isFunction, isString, isObject } from "./utils";
10
+ import { Rejection } from "../router/transition/rejectFactory";
19
11
  import { identity, pushR, tail } from "./common";
20
12
  import { pattern, val } from "./hof";
21
13
  /**
@@ -60,7 +52,7 @@ export function functionToString(fn) {
60
52
  return toStr;
61
53
  }
62
54
  export function fnToString(fn) {
63
- const _fn = isArray(fn) ? fn.slice(-1)[0] : fn;
55
+ const _fn = Array.isArray(fn) ? fn.slice(-1)[0] : fn;
64
56
  return (_fn && _fn.toString()) || "undefined";
65
57
  }
66
58
  export function stringify(o) {
@@ -68,7 +60,7 @@ export function stringify(o) {
68
60
  const isRejection = Rejection.isRejectionPromise;
69
61
  const hasToString = (obj) =>
70
62
  isObject(obj) &&
71
- !isArray(obj) &&
63
+ !Array.isArray(obj) &&
72
64
  obj.constructor !== Object &&
73
65
  isFunction(obj.toString);
74
66
  const stringifyPattern = pattern([
@@ -54,7 +54,7 @@ export function isArrayLike(obj) {
54
54
  // arrays, strings and jQuery/jqLite objects are array like
55
55
  // * we have to check the existence of jqLite first as this method is called
56
56
  // via the forEach method when constructing the jqLite object in the first place
57
- if (isArray(obj) || isString(obj)) return true;
57
+ if (Array.isArray(obj) || obj instanceof Array || isString(obj)) return true;
58
58
 
59
59
  // Support: iOS 8.2 (not reproducible in simulator)
60
60
  // "length" in obj used to prevent JIT error (gh-11508)
@@ -171,21 +171,6 @@ export function isDate(value) {
171
171
  return toString.call(value) === "[object Date]";
172
172
  }
173
173
 
174
- /**
175
- * @module angular
176
- * @function isArray
177
- * @function
178
- *
179
- * @description
180
- * Determines if a reference is an `Array`.
181
- *
182
- * @param {*} arr Reference to check.
183
- * @returns {boolean} True if `value` is an `Array`.
184
- */
185
- export function isArray(arr) {
186
- return Array.isArray(arr) || arr instanceof Array;
187
- }
188
-
189
174
  /**
190
175
  * @description
191
176
  * Determines if a reference is an `Error`.
@@ -380,7 +365,7 @@ export function forEach(obj, iterator, context) {
380
365
  iterator.call(context, obj[key], key, obj);
381
366
  }
382
367
  }
383
- } else if (isArray(obj) || isArrayLike(obj)) {
368
+ } else if (Array.isArray(obj) || isArrayLike(obj)) {
384
369
  const isPrimitive = typeof obj !== "object";
385
370
  for (key = 0, length = obj.length; key < length; key++) {
386
371
  if (isPrimitive || key in obj) {
@@ -457,7 +442,7 @@ export function baseExtend(dst, objs, deep) {
457
442
  } else if (isElement(src)) {
458
443
  dst[key] = src[0].cloneNode(true);
459
444
  } else if (key !== "__proto__") {
460
- if (!isObject(dst[key])) dst[key] = isArray(src) ? [] : {};
445
+ if (!isObject(dst[key])) dst[key] = Array.isArray(src) ? [] : {};
461
446
  baseExtend(dst[key], [src], true);
462
447
  }
463
448
  } else {
@@ -711,8 +696,8 @@ export function equals(o1, o2) {
711
696
  let key;
712
697
  let keySet;
713
698
  if (t1 === t2 && t1 === "object") {
714
- if (isArray(o1)) {
715
- if (!isArray(o2)) return false;
699
+ if (Array.isArray(o1)) {
700
+ if (!Array.isArray(o2)) return false;
716
701
  if ((length = o1.length) === o2.length) {
717
702
  for (key = 0; key < length; key++) {
718
703
  if (!equals(o1[key], o2[key])) return false;
@@ -731,7 +716,7 @@ export function equals(o1, o2) {
731
716
  isScope(o2) ||
732
717
  isWindow(o1) ||
733
718
  isWindow(o2) ||
734
- isArray(o2) ||
719
+ Array.isArray(o2) ||
735
720
  isDate(o2) ||
736
721
  isRegExp(o2)
737
722
  )
@@ -864,7 +849,7 @@ export function stringify(value) {
864
849
  value = `${value}`;
865
850
  break;
866
851
  default:
867
- if (hasCustomToString(value) && !isArray(value) && !isDate(value)) {
852
+ if (hasCustomToString(value) && !Array.isArray(value) && !isDate(value)) {
868
853
  value = value.toString();
869
854
  } else {
870
855
  value = toJson(value);
@@ -1048,7 +1033,7 @@ export function parseKeyValue(keyValue) {
1048
1033
  val = isDefined(val) ? tryDecodeURIComponent(val) : true;
1049
1034
  if (!Object.hasOwnProperty.call(obj, key)) {
1050
1035
  obj[key] = val;
1051
- } else if (isArray(obj[key])) {
1036
+ } else if (Array.isArray(obj[key])) {
1052
1037
  obj[key].push(val);
1053
1038
  } else {
1054
1039
  obj[key] = [obj[key], val];
@@ -1062,7 +1047,7 @@ export function parseKeyValue(keyValue) {
1062
1047
  export function toKeyValue(obj) {
1063
1048
  const parts = [];
1064
1049
  forEach(obj, (value, key) => {
1065
- if (isArray(value)) {
1050
+ if (Array.isArray(value)) {
1066
1051
  forEach(value, (arrayValue) => {
1067
1052
  parts.push(
1068
1053
  encodeUriQuery(key, true) +
@@ -1153,7 +1138,7 @@ export function getNgAttribute(element, ngAttr) {
1153
1138
  * Assumes that there are no proto properties for objects.
1154
1139
  */
1155
1140
  export function shallowCopy(src, dst) {
1156
- if (isArray(src)) {
1141
+ if (Array.isArray(src)) {
1157
1142
  dst = dst || [];
1158
1143
 
1159
1144
  for (let i = 0, ii = src.length; i < ii; i++) {
@@ -1188,7 +1173,7 @@ export function assertArg(arg, name, reason) {
1188
1173
  }
1189
1174
 
1190
1175
  export function assertArgFn(arg, name, acceptArrayAnnotation) {
1191
- if (acceptArrayAnnotation && isArray(arg)) {
1176
+ if (acceptArrayAnnotation && Array.isArray(arg)) {
1192
1177
  arg = arg[arg.length - 1];
1193
1178
  }
1194
1179
 
@@ -1275,7 +1260,6 @@ export function minErr(module) {
1275
1260
  message += `${paramPrefix}p${i}=${encodeURIComponent(templateArgs[i])}`;
1276
1261
  }
1277
1262
  }
1278
-
1279
1263
  return new Error(message);
1280
1264
  };
1281
1265
  }
@@ -1338,8 +1322,8 @@ export function mergeClasses(a, b) {
1338
1322
  if (!a && !b) return "";
1339
1323
  if (!a) return b;
1340
1324
  if (!b) return a;
1341
- if (isArray(a)) a = a.join(" ");
1342
- if (isArray(b)) b = b.join(" ");
1325
+ if (Array.isArray(a)) a = a.join(" ");
1326
+ if (Array.isArray(b)) b = b.join(" ");
1343
1327
  return a + " " + b;
1344
1328
  }
1345
1329
 
@@ -14,7 +14,6 @@ import {
14
14
  toKeyValue,
15
15
  parseKeyValue,
16
16
  isError,
17
- isArray,
18
17
  isArrayLike,
19
18
  encodeUriSegment,
20
19
  encodeUriQuery,
@@ -24,7 +23,7 @@ import {
24
23
  nextUid,
25
24
  nodeName_,
26
25
  snakeCase,
27
- } from "../src/core/utils";
26
+ } from "../src/shared/utils";
28
27
  import { dealoc, jqLite, startingTag } from "../src/jqLite";
29
28
  import { Angular, angularInit } from "../src/loader";
30
29
  import { publishExternalAPI } from "../src/public";
@@ -1204,35 +1203,6 @@ describe("angular", () => {
1204
1203
  });
1205
1204
  });
1206
1205
 
1207
- describe("isArray", () => {
1208
- it("should return true if passed an `Array`", () => {
1209
- expect(isArray([])).toBe(true);
1210
- });
1211
-
1212
- it("should return true if passed an `Array` from a different window context", () => {
1213
- const iframe = document.createElement("iframe");
1214
- document.body.appendChild(iframe); // No `contentWindow` if not attached to the DOM.
1215
- const arr = new iframe.contentWindow.Array();
1216
- document.body.removeChild(iframe); // Clean up.
1217
-
1218
- expect(arr instanceof Array).toBe(false);
1219
- expect(isArray(arr)).toBe(true);
1220
- });
1221
-
1222
- it("should return true if passed an object prototypically inherited from `Array`", () => {
1223
- function FooArray() {}
1224
- FooArray.prototype = [];
1225
-
1226
- expect(isArray(new FooArray())).toBe(true);
1227
- });
1228
-
1229
- it("should return false if passed non-array objects", () => {
1230
- expect(isArray(document.body.childNodes)).toBe(false);
1231
- expect(isArray({ length: 0 })).toBe(false);
1232
- expect(isArray({ length: 2, 0: "one", 1: "two" })).toBe(false);
1233
- });
1234
- });
1235
-
1236
1206
  describe("isArrayLike", () => {
1237
1207
  it("should return false if passed a number", () => {
1238
1208
  expect(isArrayLike(10)).toBe(false);
@@ -49,7 +49,7 @@ describe("$animate", () => {
49
49
  expect(element.text()).toBe("21");
50
50
  });
51
51
 
52
- fit("should apply styles instantly to the element", () => {
52
+ it("should apply styles instantly to the element", () => {
53
53
  $animate.animate(element, { color: "rgb(0, 0, 0)" });
54
54
  expect(element[0].stype.color).toBe("rgb(0, 0, 0)");
55
55
 
@@ -8,8 +8,7 @@ import {
8
8
  isElement,
9
9
  nodeName_,
10
10
  extend,
11
- isArray,
12
- } from "../../src/core/utils";
11
+ } from "../../src/shared/utils";
13
12
  import { countChildScopes, countWatchers } from "../../src/core/root-scope";
14
13
  import { CACHE, EXPANDO } from "../../src/core/cache";
15
14
 
@@ -9682,7 +9681,7 @@ describe("$compile", () => {
9682
9681
  const isolateScope = $rootScope.$$childHead;
9683
9682
 
9684
9683
  expect(typeof isolateScope.constructor).toBe("string");
9685
- expect(isArray(isolateScope.watch)).toBe(true);
9684
+ expect(Array.isArray(isolateScope.watch)).toBe(true);
9686
9685
  expect(typeof isolateScope.toString).toBe("function");
9687
9686
  expect($rootScope.value).toBeUndefined();
9688
9687
  isolateScope.toString();
@@ -1,5 +1,5 @@
1
1
  import { createInjector } from "../../src/injector";
2
- import { isObject, isArray } from "../../src/core/utils";
2
+ import { isObject } from "../../src/shared/utils";
3
3
  import { publishExternalAPI } from "../../src/public";
4
4
 
5
5
  export function getLastAjaxRequest() {
@@ -543,7 +543,7 @@ describe("$http", function () {
543
543
  });
544
544
  $rootScope.$apply();
545
545
 
546
- expect(isArray(response.data)).toBe(true);
546
+ expect(Array.isArray(response.data)).toBe(true);
547
547
  expect(response.data).toEqual([1, 2, 3]);
548
548
  });
549
549
 
@@ -1,6 +1,6 @@
1
1
  import { publishExternalAPI } from "../../src/public";
2
2
  import { createInjector } from "../../src/injector";
3
- import { valueFn } from "../../src/core/utils";
3
+ import { valueFn } from "../../src/shared/utils";
4
4
 
5
5
  describe("ngOn* event binding", () => {
6
6
  let $rootScope, module, injector, $compile;
@@ -7,7 +7,7 @@ import {
7
7
  valueFn,
8
8
  extend,
9
9
  identity,
10
- } from "../../src/core/utils";
10
+ } from "../../src/shared/utils";
11
11
  import { publishExternalAPI } from "../../src/public";
12
12
  import { createInjector } from "../../src/injector";
13
13
 
@@ -1,7 +1,7 @@
1
1
  import { publishExternalAPI } from "../../src/public";
2
2
  import { createInjector } from "../../src/injector";
3
3
  import { jqLite } from "../../src/jqLite";
4
- import { valueFn } from "../../src/core/utils";
4
+ import { valueFn } from "../../src/shared/utils";
5
5
 
6
6
  describe("ngProp*", () => {
7
7
  let $compile, $rootScope, compileProvider, $sce;
@@ -1,5 +1,5 @@
1
1
  import { getQueues } from "../../src/core/root-scope";
2
- import { extend, sliceArgs } from "../../src/core/utils";
2
+ import { extend, sliceArgs } from "../../src/shared/utils";
3
3
  import { publishExternalAPI } from "../../src/public";
4
4
  import { createInjector } from "../../src/injector";
5
5
 
@@ -1,7 +1,7 @@
1
- import { publishExternalAPI } from "../../../src/public";
2
- import { createInjector } from "../../../src/injector";
3
- import { dealoc, jqLite } from "../../../src/jqLite";
4
- import { valueFn, isDefined } from "../../../src/core/utils";
1
+ import { publishExternalAPI } from "../../src/public";
2
+ import { createInjector } from "../../src/injector";
3
+ import { dealoc, jqLite } from "../../src/jqLite";
4
+ import { valueFn, isDefined } from "../../src/shared/utils";
5
5
 
6
6
  describe("a", () => {
7
7
  let element;
@@ -1,6 +1,6 @@
1
- import { publishExternalAPI } from "../../../src/public";
2
- import { createInjector } from "../../../src/injector";
3
- import { dealoc } from "../../../src/jqLite";
1
+ import { publishExternalAPI } from "../../src/public";
2
+ import { createInjector } from "../../src/injector";
3
+ import { dealoc } from "../../src/jqLite";
4
4
 
5
5
  describe("ng-bind", () => {
6
6
  let $rootScope;
@@ -1,5 +1,5 @@
1
- import { publishExternalAPI } from "../../../src/public";
2
- import { createInjector } from "../../../src/injector";
1
+ import { publishExternalAPI } from "../../src/public";
2
+ import { createInjector } from "../../src/injector";
3
3
 
4
4
  describe("boolean attr directives", () => {
5
5
  let element, $rootScope, $compile, $document, $rootElement;
@@ -1,6 +1,6 @@
1
- import { createInjector } from "../../../src/injector";
2
- import { dealoc } from "../../../src/jqLite";
3
- import { publishExternalAPI } from "../../../src/public";
1
+ import { createInjector } from "../../src/injector";
2
+ import { dealoc } from "../../src/jqLite";
3
+ import { publishExternalAPI } from "../../src/public";
4
4
 
5
5
  describe("ngChange", () => {
6
6
  let injector;
@@ -1,7 +1,7 @@
1
- import { dealoc, jqLite } from "../../../src/jqLite";
2
- import { publishExternalAPI } from "../../../src/public";
3
- import { createInjector } from "../../../src/injector";
4
- import { valueFn } from "../../../src/core/utils";
1
+ import { dealoc, jqLite } from "../../src/jqLite";
2
+ import { publishExternalAPI } from "../../src/public";
3
+ import { createInjector } from "../../src/injector";
4
+ import { valueFn } from "../../src/shared/utils";
5
5
 
6
6
  describe("ngClass", () => {
7
7
  let element;
@@ -1,6 +1,6 @@
1
- import { dealoc } from "../../../src/jqLite";
2
- import { publishExternalAPI } from "../../../src/public";
3
- import { createInjector } from "../../../src/injector";
1
+ import { dealoc } from "../../src/jqLite";
2
+ import { publishExternalAPI } from "../../src/public";
3
+ import { createInjector } from "../../src/injector";
4
4
 
5
5
  describe("ngClick", () => {
6
6
  let element;
@@ -1,7 +1,7 @@
1
- import { dealoc, jqLite } from "../../../src/jqLite";
2
- import { setupModuleLoader } from "../../../src/loader";
3
- import { publishExternalAPI } from "../../../src/public";
4
- import { createInjector } from "../../../src/injector";
1
+ import { dealoc, jqLite } from "../../src/jqLite";
2
+ import { setupModuleLoader } from "../../src/loader";
3
+ import { publishExternalAPI } from "../../src/public";
4
+ import { createInjector } from "../../src/injector";
5
5
 
6
6
  describe("ngCloak", () => {
7
7
  let element;
@@ -1,8 +1,8 @@
1
- import { publishExternalAPI } from "../../../src/public";
2
- import { createInjector } from "../../../src/injector";
3
- import { dealoc, jqLite } from "../../../src/jqLite";
4
- import { bind } from "../../../src/core/utils";
5
- import { Angular } from "../../../src/loader";
1
+ import { publishExternalAPI } from "../../src/public";
2
+ import { createInjector } from "../../src/injector";
3
+ import { dealoc, jqLite } from "../../src/jqLite";
4
+ import { bind } from "../../src/shared/utils";
5
+ import { Angular } from "../../src/loader";
6
6
 
7
7
  describe("ngController", () => {
8
8
  let angular;
@@ -1,6 +1,6 @@
1
- import { publishExternalAPI } from "../../../src/public";
2
- import { createInjector } from "../../../src/injector";
3
- import { dealoc, jqLite } from "../../../src/jqLite";
1
+ import { publishExternalAPI } from "../../src/public";
2
+ import { createInjector } from "../../src/injector";
3
+ import { dealoc, jqLite } from "../../src/jqLite";
4
4
 
5
5
  describe("style", () => {
6
6
  let $rootScope;
@@ -1,7 +1,7 @@
1
- import { publishExternalAPI } from "../../../src/public";
2
- import { createInjector } from "../../../src/injector";
3
- import { dealoc } from "../../../src/jqLite";
4
- import { Angular } from "../../../src/loader";
1
+ import { publishExternalAPI } from "../../src/public";
2
+ import { createInjector } from "../../src/injector";
3
+ import { dealoc } from "../../src/jqLite";
4
+ import { Angular } from "../../src/loader";
5
5
 
6
6
  describe("event directives", () => {
7
7
  let angular;
@@ -1,8 +1,8 @@
1
- import { publishExternalAPI } from "../../../src/public";
2
- import { createInjector } from "../../../src/injector";
3
- import { dealoc, jqLite } from "../../../src/jqLite";
4
- import { FormController } from "../../../src/directive/form";
5
- import { Angular } from "../../../src/loader";
1
+ import { publishExternalAPI } from "../../src/public";
2
+ import { createInjector } from "../../src/injector";
3
+ import { dealoc, jqLite } from "../../src/jqLite";
4
+ import { FormController } from "../../src/directive/form";
5
+ import { Angular } from "../../src/loader";
6
6
 
7
7
  describe("form", () => {
8
8
  let doc;
@@ -1,7 +1,7 @@
1
- import { publishExternalAPI } from "../../../src/public";
2
- import { createInjector } from "../../../src/injector";
3
- import { dealoc } from "../../../src/jqLite";
4
- import { isDefined } from "../../../src/core/utils";
1
+ import { publishExternalAPI } from "../../src/public";
2
+ import { createInjector } from "../../src/injector";
3
+ import { dealoc } from "../../src/jqLite";
4
+ import { isDefined } from "../../src/shared/utils";
5
5
 
6
6
  describe("ngHref", () => {
7
7
  let $rootScope;
@@ -1,8 +1,8 @@
1
- import { dealoc, jqLite } from "../../../src/jqLite";
2
- import { forEach, valueFn } from "../../../src/core/utils";
3
- import { publishExternalAPI } from "../../../src/public";
4
- import { createInjector } from "../../../src/injector";
5
- import { Angular } from "../../../src/loader";
1
+ import { dealoc, jqLite } from "../../src/jqLite";
2
+ import { forEach, valueFn } from "../../src/shared/utils";
3
+ import { publishExternalAPI } from "../../src/public";
4
+ import { createInjector } from "../../src/injector";
5
+ import { Angular } from "../../src/loader";
6
6
 
7
7
  describe("ngIf", () => {
8
8
  describe("basic", () => {
@@ -1,8 +1,8 @@
1
- import { dealoc, jqLite } from "../../../src/jqLite";
2
- import { Angular } from "../../../src/loader";
3
- import { createInjector } from "../../../src/injector";
4
- import { publishExternalAPI } from "../../../src/public";
5
- import { valueFn } from "../../../src/core/utils";
1
+ import { dealoc, jqLite } from "../../src/jqLite";
2
+ import { Angular } from "../../src/loader";
3
+ import { createInjector } from "../../src/injector";
4
+ import { publishExternalAPI } from "../../src/public";
5
+ import { valueFn } from "../../src/shared/utils";
6
6
 
7
7
  describe("ngInclude", () => {
8
8
  describe("basic", () => {
@@ -1,7 +1,7 @@
1
- import { dealoc, jqLite } from "../../../src/jqLite";
2
- import { publishExternalAPI } from "../../../src/public";
3
- import { createInjector } from "../../../src/injector";
4
- import { Angular } from "../../../src/loader";
1
+ import { dealoc, jqLite } from "../../src/jqLite";
2
+ import { publishExternalAPI } from "../../src/public";
3
+ import { createInjector } from "../../src/injector";
4
+ import { Angular } from "../../src/loader";
5
5
 
6
6
  describe("ngInit", () => {
7
7
  let element;