@angular-wave/angular.ts 0.2.1 → 0.2.3

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 (60) hide show
  1. package/dist/angular-ts.esm.js +2 -2
  2. package/dist/angular-ts.umd.js +2 -2
  3. package/package.json +1 -1
  4. package/src/angular.spec.js +1 -1
  5. package/src/animations/animate.spec.js +1 -1
  6. package/src/core/compile/attributes.js +1 -1
  7. package/src/core/compile/compile.js +10 -6
  8. package/src/core/compile/compile.spec.js +0 -6
  9. package/src/core/controller/controller.js +85 -131
  10. package/src/core/di/internal-injector.js +14 -14
  11. package/src/core/di/ng-module.js +2 -2
  12. package/src/core/filter/filter.md +1 -1
  13. package/src/core/location/location.spec.js +9 -9
  14. package/src/core/sanitize/sanitize-uri.spec.js +1 -1
  15. package/src/core/sce/sce.spec.js +3 -3
  16. package/src/core/scope/scope.spec.js +1 -1
  17. package/src/core/url-utils/url-utils.js +4 -4
  18. package/src/core/url-utils/url-utils.spec.js +1 -1
  19. package/src/directive/attrs/boolean.spec.js +1 -1
  20. package/src/directive/class/class.js +10 -90
  21. package/src/directive/class/class.md +90 -0
  22. package/src/directive/class/class.spec.js +1 -1
  23. package/src/directive/controller/controller.spec.js +0 -12
  24. package/src/directive/form/form.spec.js +3 -3
  25. package/src/directive/include/include.spec.js +1 -1
  26. package/src/directive/input/input.js +1 -1
  27. package/src/directive/model/model.js +50 -42
  28. package/src/directive/options/options.js +2 -2
  29. package/src/directive/repeat/repeat.spec.js +4 -4
  30. package/src/directive/select/select.js +1 -1
  31. package/src/directive/show-hide/show-hide.spec.js +1 -1
  32. package/src/directive/style/style.spec.js +1 -1
  33. package/src/directive/switch/switch.spec.js +1 -1
  34. package/src/directive/validators/validators.js +2 -2
  35. package/src/filters/filter.js +2 -3
  36. package/src/filters/limit-to.js +2 -2
  37. package/src/router/resolve/resolvable.js +4 -0
  38. package/src/router/resolve/resolve-context.js +12 -6
  39. package/src/router/state/state-builder.js +31 -23
  40. package/src/router/transition/hook-registry.js +2 -2
  41. package/src/router/transition/transition-hook.js +3 -3
  42. package/src/services/cookie-reader.js +1 -1
  43. package/src/services/http/http.js +24 -19
  44. package/src/shared/common.js +2 -2
  45. package/src/shared/common.spec.js +5 -7
  46. package/src/shared/hof.js +1 -2
  47. package/src/shared/jqlite/jqlite.js +26 -28
  48. package/src/shared/jqlite/jqlite.spec.js +10 -10
  49. package/src/shared/utils.js +6 -38
  50. package/types/core/controller/controller.d.ts +29 -5
  51. package/types/core/di/internal-injector.d.ts +6 -6
  52. package/types/core/di/ng-module.d.ts +2 -2
  53. package/types/directive/class/class.d.ts +3 -100
  54. package/types/directive/model/model.d.ts +6 -3
  55. package/types/directive/validators/validators.d.ts +2 -2
  56. package/types/router/resolve/resolve-context.d.ts +9 -6
  57. package/types/shared/common.d.ts +0 -2
  58. package/types/shared/hof.d.ts +0 -1
  59. package/types/shared/jqlite/jqlite.d.ts +4 -4
  60. package/types/shared/utils.d.ts +5 -13
@@ -6,18 +6,42 @@ export function identifierForController(controller: any, ident: any): any;
6
6
  * This provider allows controller registration via the
7
7
  * {@link ng.$controllerProvider#register register} method.
8
8
  */
9
- export function $ControllerProvider(): void;
10
9
  export class $ControllerProvider {
11
10
  /**
11
+ * @type {Map<string, Function|Object>}
12
+ * @private
13
+ */
14
+ private controllers;
15
+ /**
16
+ * Check if a controller with a given name exists.
17
+ *
12
18
  * @param {string} name Controller name to check.
19
+ * @returns {boolean} True if the controller exists, false otherwise.
13
20
  */
14
- has: (name: string) => any;
21
+ has(name: string): boolean;
15
22
  /**
23
+ * Register a controller.
24
+ *
16
25
  * @param {string|Object} name Controller name, or an object map of controllers where the keys are
17
26
  * the names and the values are the constructors.
18
- * @param {Function|Array} constructor Controller constructor fn (optionally decorated with DI
27
+ * @param {Function|Array} constructor Controller constructor function (optionally decorated with DI
19
28
  * annotations in the array notation).
20
29
  */
21
- register: (name: string | any, constructor: Function | any[]) => void;
22
- $get: (string | (($injector: import("../../core/di/internal-injector").InjectorService) => (expression: Function | string, locals: any, later: any, ident: any) => any))[];
30
+ register(name: string | any, constructor: Function | any[]): void;
31
+ /**
32
+ * $get method for dependency injection.
33
+ *
34
+ * @param {import("../../core/di/internal-injector").InjectorService} $injector
35
+ * @returns {Function} A service function that creates controllers.
36
+ */
37
+ $get: (string | (($injector: any) => (expression: any, locals: any, later: any, ident: any) => any))[];
38
+ /**
39
+ * Adds an identifier to the controller instance in the given locals' scope.
40
+ *
41
+ * @param {Object} locals The locals object containing the scope.
42
+ * @param {string} identifier The identifier to assign.
43
+ * @param {Object} instance The controller instance.
44
+ * @param {string} name The name of the controller.
45
+ */
46
+ addIdentifier(locals: any, identifier: string, instance: any, name: string): void;
23
47
  }
@@ -24,7 +24,7 @@ export class InjectorService extends AbstractInjector {
24
24
  factory(serviceName: any): any;
25
25
  /**
26
26
  *
27
- * @param {String} name
27
+ * @param {string} name
28
28
  * @returns {boolean}
29
29
  */
30
30
  has(name: string): boolean;
@@ -48,7 +48,7 @@ declare class AbstractInjector {
48
48
  /**
49
49
  * Get a service by name.
50
50
  *
51
- * @param {String} serviceName
51
+ * @param {string} serviceName
52
52
  * @returns {any}
53
53
  */
54
54
  get(serviceName: string): any;
@@ -57,7 +57,7 @@ declare class AbstractInjector {
57
57
  *
58
58
  * @param {Function|Array} fn
59
59
  * @param {Object} locals
60
- * @param {String} serviceName
60
+ * @param {string} serviceName
61
61
  * @returns
62
62
  */
63
63
  injectionArgs(fn: Function | any[], locals: any, serviceName: string): any[];
@@ -67,7 +67,7 @@ declare class AbstractInjector {
67
67
  * @param {Function|String|Array<any>} fn
68
68
  * @param {*} [self]
69
69
  * @param {Object} [locals]
70
- * @param {String} [serviceName]
70
+ * @param {string} [serviceName]
71
71
  * @returns
72
72
  */
73
73
  invoke(fn: Function | string | Array<any>, self?: any, locals?: any, serviceName?: string): any;
@@ -75,7 +75,7 @@ declare class AbstractInjector {
75
75
  * Instantiate a type constructor with optional locals.
76
76
  * @param {Function|Array} type
77
77
  * @param {*} [locals]
78
- * @param {String} [serviceName]
78
+ * @param {string} [serviceName]
79
79
  */
80
80
  instantiate(type: Function | any[], locals?: any, serviceName?: string): any;
81
81
  /**
@@ -84,7 +84,7 @@ declare class AbstractInjector {
84
84
  loadNewModules(): void;
85
85
  /**
86
86
  * @abstract
87
- * @param {String} _serviceName
87
+ * @param {string} _serviceName
88
88
  */
89
89
  factory(_serviceName: string): void;
90
90
  }
@@ -16,8 +16,8 @@ export const CONTROLLER_LITERAL: "$controllerProvider";
16
16
  */
17
17
  export class NgModule {
18
18
  /**
19
- * @param {String} name - Name of the module
20
- * @param {Array<String>} requires - List of modules which the injector will load before the current module
19
+ * @param {string} name - Name of the module
20
+ * @param {Array<string>} requires - List of modules which the injector will load before the current module
21
21
  * @param {Function} [configFn]
22
22
  */
23
23
  constructor(name: string, requires: Array<string>, configFn?: Function);
@@ -1,100 +1,3 @@
1
- /**
2
- * The `ngClass` directive allows you to dynamically set CSS classes on an HTML element by databinding
3
- * an expression that represents all classes to be added.
4
- *
5
- * The directive operates in three different ways, depending on which of three types the expression
6
- * evaluates to:
7
- *
8
- * 1. If the expression evaluates to a string, the string should be one or more space-delimited class
9
- * names.
10
- *
11
- * 2. If the expression evaluates to an object, then for each key-value pair of the
12
- * object with a truthy value the corresponding key is used as a class name.
13
- *
14
- * 3. If the expression evaluates to an array, each element of the array should either be a string as in
15
- * type 1 or an object as in type 2. This means that you can mix strings and objects together in an array
16
- * to give you more control over what CSS classes appear. See the code below for an example of this.
17
- *
18
- *
19
- * The directive won't add duplicate classes if a particular class was already set.
20
- *
21
- * When the expression changes, the previously added classes are removed and only then are the
22
- * new classes added.
23
- *
24
- * @knownIssue
25
- * You should not use {@link guide/interpolation interpolation} in the value of the `class`
26
- * attribute, when using the `ngClass` directive on the same element.
27
- * See {@link guide/interpolation#known-issues here} for more info.
28
- *
29
- * @animations
30
- * | Animation | Occurs |
31
- * |----------------------------------|-------------------------------------|
32
- * | {@link ng.$animate#addClass addClass} | just before the class is applied to the element |
33
- * | {@link ng.$animate#removeClass removeClass} | just before the class is removed from the element |
34
- * | {@link ng.$animate#setClass setClass} | just before classes are added and classes are removed from the element at the same time |
35
- *
36
- * ### ngClass and pre-existing CSS3 Transitions/Animations
37
- The ngClass directive still supports CSS3 Transitions/Animations even if they do not follow the ngAnimate CSS naming structure.
38
- Upon animation ngAnimate will apply supplementary CSS classes to track the start and end of an animation, but this will not hinder
39
- any pre-existing CSS transitions already on the element. To get an idea of what happens during a class-based animation, be sure
40
- to view the step by step details of {@link $animate#addClass $animate.addClass} and
41
- {@link $animate#removeClass $animate.removeClass}.
42
- *
43
- * @param {String} ngClass {@link guide/expression Expression} to eval. The result
44
- * of the evaluation can be a string representing space delimited class
45
- * names, an array, or a map of class names to boolean values. In the case of a map, the
46
- * names of the properties whose values are truthy will be added as css classes to the
47
- * element.
48
- *
49
- */
50
- export const ngClassDirective: (string | (($parse: any) => {
51
- restrict: string;
52
- link(scope: any, element: any, attr: any): void;
53
- }))[];
54
- /**
55
- * The `ngClassOdd` and `ngClassEven` directives work exactly as
56
- * {@link ng.directive:ngClass ngClass}, except they work in
57
- * conjunction with `ngRepeat` and take effect only on odd (even) rows.
58
- *
59
- * This directive can be applied only within the scope of an
60
- * {@link ng.directive:ngRepeat ngRepeat}.
61
- *
62
- * @animations
63
- * | Animation | Occurs |
64
- * |----------------------------------|-------------------------------------|
65
- * | {@link ng.$animate#addClass addClass} | just before the class is applied to the element |
66
- * | {@link ng.$animate#removeClass removeClass} | just before the class is removed from the element |
67
- *
68
- * @element ANY
69
- * @param {String} ngClassOdd {@link guide/expression Expression} to eval. The result
70
- * of the evaluation can be a string representing space delimited class names or an array.
71
- *
72
- *
73
- */
74
- export const ngClassOddDirective: (string | (($parse: any) => {
75
- restrict: string;
76
- link(scope: any, element: any, attr: any): void;
77
- }))[];
78
- /**
79
- * The `ngClassOdd` and `ngClassEven` directives work exactly as
80
- * {@link ng.directive:ngClass ngClass}, except they work in
81
- * conjunction with `ngRepeat` and take effect only on odd (even) rows.
82
- *
83
- * This directive can be applied only within the scope of an
84
- * {@link ng.directive:ngRepeat ngRepeat}.
85
- *
86
- * @animations
87
- * | Animation | Occurs |
88
- * |----------------------------------|-------------------------------------|
89
- * | {@link ng.$animate#addClass addClass} | just before the class is applied to the element |
90
- * | {@link ng.$animate#removeClass removeClass} | just before the class is removed from the element |
91
- *
92
- * @element ANY
93
- * @param {String} ngClassEven {@link guide/expression Expression} to eval. The
94
- * result of the evaluation can be a string representing space delimited class names or an array.
95
- *
96
- */
97
- export const ngClassEvenDirective: (string | (($parse: any) => {
98
- restrict: string;
99
- link(scope: any, element: any, attr: any): void;
100
- }))[];
1
+ export const ngClassDirective: (string | (($parse: import("../../core/parser/parse.js").ParseService) => import("../../types").Directive))[];
2
+ export const ngClassOddDirective: (string | (($parse: import("../../core/parser/parse.js").ParseService) => import("../../types").Directive))[];
3
+ export const ngClassEvenDirective: (string | (($parse: import("../../core/parser/parse.js").ParseService) => import("../../types").Directive))[];
@@ -3,7 +3,7 @@ export function ngModelDirective($rootScope: any): {
3
3
  require: string[];
4
4
  controller: typeof NgModelController;
5
5
  priority: number;
6
- compile: (element: any) => {
6
+ compile: (element: import("../../shared/jqlite/jqlite.js").JQLite) => {
7
7
  pre: (scope: any, _element: any, attr: any, ctrls: any) => void;
8
8
  post: (scope: any, element: any, _attr: any, ctrls: any) => void;
9
9
  };
@@ -115,11 +115,14 @@ export class NgModelController {
115
115
  $$ngModelSet: (arg0: any, arg1: any) => any;
116
116
  $$pendingDebounce: any;
117
117
  $$parserValid: boolean;
118
+ /** @type {string} */
118
119
  $$parserName: string;
119
120
  /** @type {number} */
120
121
  $$currentValidationRunId: number;
121
- $$scope: import("../../core/scope/scope").Scope;
122
- $$rootScope: import("../../core/scope/scope").Scope;
122
+ /** @type {Scope} */
123
+ $$scope: Scope;
124
+ /** @type {Scope} */
125
+ $$rootScope: Scope;
123
126
  $$attr: import("../../core/compile/attributes").Attributes;
124
127
  $$element: import("../../shared/jqlite/jqlite").JQLite;
125
128
  $$animate: any;
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  *
3
- * @param {String} ngRequired AngularJS expression. If it evaluates to `true`, it sets the
3
+ * @param {string} ngRequired AngularJS expression. If it evaluates to `true`, it sets the
4
4
  * `required` attribute to the element and adds the `required`
5
5
  * {@link ngModel.NgModelController#$validators `validator`}.
6
6
  *
@@ -71,7 +71,7 @@ export const patternDirective: (string | (($parse: any) => {
71
71
  compile: (tElm: any, tAttr: any) => (scope: any, elm: any, attr: any, ctrl: any) => void;
72
72
  }))[];
73
73
  /**
74
- * @param {String} ngMaxlength AngularJS expression that must evaluate to a `Number` or `String`
74
+ * @param {string} ngMaxlength AngularJS expression that must evaluate to a `Number` or `String`
75
75
  * parsable into a `Number`. Used as value for the `maxlength`
76
76
  * {@link ngModel.NgModelController#$validators validator}.
77
77
  *
@@ -68,18 +68,18 @@ export class ResolveContext {
68
68
  *
69
69
  * Note: each resolvable's [[ResolvePolicy]] is merged with the state's policy, and the global default.
70
70
  *
71
- * @param newResolvables the new Resolvables
71
+ * @param {Resolvable[]} newResolvables the new Resolvables
72
72
  * @param state Used to find the node to put the resolvable on
73
73
  */
74
- addResolvables(newResolvables: any, state: any): void;
74
+ addResolvables(newResolvables: Resolvable[], state: any): void;
75
75
  /**
76
76
  * Returns a promise for an array of resolved path Element promises
77
77
  *
78
- * @param when
78
+ * @param {string} when
79
79
  * @param trans
80
- * @returns {Promise<any>|any}
80
+ * @returns {import("../../core/q/q").QPromise<any>|any}
81
81
  */
82
- resolvePath(when: string, trans: any): Promise<any> | any;
82
+ resolvePath(when: string, trans: any): import("../../core/q/q").QPromise<any> | any;
83
83
  injector(): UIInjectorImpl;
84
84
  _injector: UIInjectorImpl;
85
85
  findNode(resolvable: any): undefined;
@@ -87,9 +87,12 @@ export class ResolveContext {
87
87
  * Gets the async dependencies of a Resolvable
88
88
  *
89
89
  * Given a Resolvable, returns its dependencies as a Resolvable[]
90
+ * @param {Resolvable} resolvable
91
+ * @returns {Resolvable[]}
90
92
  */
91
- getDependencies(resolvable: any): any;
93
+ getDependencies(resolvable: Resolvable): Resolvable[];
92
94
  }
95
+ import { Resolvable } from "./resolvable";
93
96
  declare class UIInjectorImpl {
94
97
  native: import("../../core/di/internal-injector").InjectorService;
95
98
  get(token: any): any;
@@ -177,8 +177,6 @@ export const removeFrom: any;
177
177
  export const pushTo: any;
178
178
  export function deregAll(functions: any): any;
179
179
  export function mergeR(memo: any, item: any): any;
180
- /** Maps an array or object properties using a callback function */
181
- export function mapObj(collection: any, callback: any, target: any): any;
182
180
  export function allTrueR(memo: any, elem: any): any;
183
181
  export function anyTrueR(memo: any, elem: any): any;
184
182
  export function unnestR(memo: any, elem: any): any;
@@ -112,5 +112,4 @@ export const propEq: any;
112
112
  export function parse(name: any): any;
113
113
  export function all(fn1: any): (arr: any) => any;
114
114
  export function is(ctor: any): (obj: any) => boolean;
115
- export function eq(value: any): (other: any) => boolean;
116
115
  export function val(v: any): () => any;
@@ -1,6 +1,6 @@
1
1
  /**
2
- * JQLite both a function and an array-like data structure for manipulation of DOM, linking elements to expando cache,
3
- * and execution of chain functions.
2
+ * JQLite is both a function and an array-like data structure for manipulation of DOM, linking elements to expando cache,
3
+ * and execution of chains of functions.
4
4
  *
5
5
  * @param {string|Node|Node[]|NodeList|JQLite|ArrayLike<Element>|(() => void)|Window} element
6
6
  * @returns {JQLite}
@@ -8,8 +8,8 @@
8
8
  export function JQLite(element: string | Node | Node[] | NodeList | JQLite | ArrayLike<Element> | (() => void) | Window): JQLite;
9
9
  export class JQLite {
10
10
  /**
11
- * JQLite both a function and an array-like data structure for manipulation of DOM, linking elements to expando cache,
12
- * and execution of chain functions.
11
+ * JQLite is both a function and an array-like data structure for manipulation of DOM, linking elements to expando cache,
12
+ * and execution of chains of functions.
13
13
  *
14
14
  * @param {string|Node|Node[]|NodeList|JQLite|ArrayLike<Element>|(() => void)|Window} element
15
15
  * @returns {JQLite}
@@ -192,7 +192,6 @@ export function snakeCase(name: any, separator: any): any;
192
192
  * @returns {Object|Array} Reference to `obj`.
193
193
  */
194
194
  export function forEach(obj: any | any[], iterator: Function, context?: any | undefined): any | any[];
195
- export function forEachSorted(obj: any, iterator: any, context: any): string[];
196
195
  /**
197
196
  * when using forEach the params are value, key, but it is often useful to have key, value.
198
197
  * @param {function(string, *):any} iteratorFn
@@ -364,18 +363,10 @@ export function equals(o1: any, o2: any): boolean;
364
363
  export function csp(): any;
365
364
  /**
366
365
  * throw error if the name given is hasOwnProperty
367
- * @param {String} name the name to test
368
- * @param {String} context the context in which the name is used, such as module or directive
366
+ * @param {string} name the name to test
367
+ * @param {string} context the context in which the name is used, such as module or directive
369
368
  */
370
369
  export function assertNotHasOwnProperty(name: string, context: string): void;
371
- /**
372
- * Return the value accessible from the object by path. Any undefined traversals are ignored
373
- * @param {Object} obj starting object
374
- * @param {String} path path to traverse
375
- * @param {boolean} [bindFnToScope=true]
376
- * @returns {Object} value as accessible by path
377
- */
378
- export function getter(obj: any, path: string, bindFnToScope?: boolean): any;
379
370
  export function stringify(value: any): any;
380
371
  /**
381
372
  * @param {Number} maxDepth
@@ -542,9 +533,10 @@ export function hashKey(obj: any): string;
542
533
  export function mergeClasses(a: any, b: any): any;
543
534
  /**
544
535
  * Converts all accepted directives format into proper directive name.
545
- * @param name Name to normalize
536
+ * @param {string} name Name to normalize
537
+ * @returns {string}
546
538
  */
547
- export function directiveNormalize(name: any): any;
539
+ export function directiveNormalize(name: string): string;
548
540
  /**
549
541
  * Whether element should be animated
550
542
  * @param {Node} node