@angular-wave/angular.ts 0.7.3 → 0.7.4
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.
- package/.prettierignore +2 -1
- package/@types/core/exception-handler.d.ts +2 -2
- package/@types/core/task-tracker-factory.d.ts +2 -2
- package/@types/directive/channel/channel.d.ts +2 -18
- package/@types/directive/http/http.d.ts +3 -0
- package/@types/directive/script/script.d.ts +2 -2
- package/@types/directive/setter/setter.d.ts +2 -2
- package/@types/injection-tokens.d.ts +3 -0
- package/@types/interface.d.ts +11 -0
- package/@types/loader.d.ts +3 -4
- package/@types/router/params/param-factory.d.ts +10 -2
- package/@types/router/params/param.d.ts +22 -3
- package/@types/router/template-factory.d.ts +2 -2
- package/@types/router/url/url-service.d.ts +2 -2
- package/@types/services/http/http.d.ts +2 -2
- package/@types/services/http/interface.d.ts +219 -0
- package/@types/services/http-backend/http-backend.d.ts +26 -19
- package/@types/services/log/interface.d.ts +33 -0
- package/@types/services/log/log.d.ts +25 -0
- package/@types/{core → services}/pubsub/pubsub.d.ts +6 -6
- package/@types/services/template-cache/interface.d.ts +4 -0
- package/@types/services/template-cache/template-cache.d.ts +11 -0
- package/@types/services/template-request.d.ts +1 -1
- package/@types/shared/cache.d.ts +9 -0
- package/@types/shared/dom.d.ts +2 -2
- package/Makefile +1 -1
- package/dist/angular-ts.esm.js +147 -141
- package/dist/angular-ts.umd.js +147 -141
- package/dist/angular-ts.umd.min.js +1 -1
- package/docs/assets/scss/_variables_project.scss +1 -1
- package/docs/assets/scss/_variables_project_after_bs.scss +5 -5
- package/docs/assets/scss/index.scss +2 -3
- package/docs/content/_index.md +1 -1
- package/docs/content/docs/_index.md +58 -25
- package/docs/content/docs/directive/_index.md +4 -0
- package/docs/content/docs/directive/app.md +11 -0
- package/docs/content/docs/directive/aria.md +0 -0
- package/docs/content/docs/directive/channel.md +39 -0
- package/docs/content/docs/directive/class-even.md +47 -0
- package/docs/content/docs/directive/class-odd.md +48 -0
- package/docs/content/docs/directive/class.md +64 -0
- package/docs/content/docs/directive/cloak.md +78 -0
- package/docs/content/docs/directive/include.md +7 -0
- package/docs/content/docs/filter/_index.md +4 -0
- package/docs/content/docs/provider/_index.md +4 -0
- package/docs/content/docs/provider/eventBusProvider.md +35 -0
- package/docs/content/docs/provider/logProvider.md +59 -0
- package/docs/content/docs/provider/templateCacheProvider.md +35 -0
- package/docs/content/docs/service/_index.md +4 -0
- package/docs/content/docs/service/eventBus.md +56 -0
- package/docs/content/docs/service/log.md +113 -0
- package/docs/content/docs/service/templateCache.md +64 -0
- package/docs/hugo.yaml +3 -3
- package/docs/layouts/partials/hooks/head-end.html +3 -0
- package/docs/layouts/shortcodes/showhtml.html +2 -0
- package/docs/layouts/shortcodes/showjs.html +2 -0
- package/docs/layouts/shortcodes/showraw.html +1 -0
- package/docs/static/examples/counter/counter-test.html +17 -0
- package/docs/static/examples/counter/counter.html +5 -0
- package/docs/static/examples/counter/counter.test.js +28 -0
- package/docs/static/examples/eventbus/eventbus-test.html +19 -0
- package/docs/static/examples/eventbus/eventbus.html +13 -0
- package/docs/static/examples/eventbus/eventbus.js +15 -0
- package/docs/static/examples/eventbus/eventbus.test.js +19 -0
- package/docs/static/examples/ng-channel/ng-channel-test.html +17 -0
- package/docs/static/examples/ng-channel/ng-channel.html +24 -0
- package/docs/static/examples/ng-channel/ng-channel.test.js +31 -0
- package/docs/static/examples/ng-class/ng-class.html +71 -0
- package/docs/static/examples/ng-class/ng-class.js +0 -0
- package/docs/static/examples/ng-class-even/ng-class-even.html +8 -0
- package/docs/static/examples/ng-class-odd/ng-class-odd.html +8 -0
- package/docs/static/typedoc/assets/hierarchy.js +1 -1
- package/docs/static/typedoc/assets/navigation.js +1 -1
- package/docs/static/typedoc/assets/search.js +1 -1
- package/docs/static/typedoc/classes/LogProvider.html +6 -0
- package/docs/static/typedoc/classes/PubSub.html +71 -0
- package/docs/static/typedoc/classes/PubSubProvider.html +3 -0
- package/docs/static/typedoc/classes/TemplateCacheProvider.html +5 -0
- package/docs/static/typedoc/hierarchy.html +1 -1
- package/docs/static/typedoc/index.html +1 -1
- package/docs/static/typedoc/interfaces/ChangesObject.html +1 -1
- package/docs/static/typedoc/interfaces/ComponentOptions.html +1 -1
- package/docs/static/typedoc/interfaces/Controller.html +1 -1
- package/docs/static/typedoc/interfaces/Directive.html +1 -1
- package/docs/static/typedoc/interfaces/DirectivePrePost.html +1 -1
- package/docs/static/typedoc/interfaces/HttpHeadersGetter.html +1 -0
- package/docs/static/typedoc/interfaces/HttpProviderDefaults.html +31 -0
- package/docs/static/typedoc/interfaces/HttpRequestConfigHeaders.html +6 -0
- package/docs/static/typedoc/interfaces/HttpRequestTransformer.html +1 -0
- package/docs/static/typedoc/interfaces/HttpResponse.html +8 -0
- package/docs/static/typedoc/interfaces/HttpResponseTransformer.html +1 -0
- package/docs/static/typedoc/interfaces/HttpService.html +38 -0
- package/docs/static/typedoc/interfaces/LogService.html +12 -0
- package/docs/static/typedoc/interfaces/NgModelController.html +1 -1
- package/docs/static/typedoc/interfaces/NgModelOptions.html +1 -1
- package/docs/static/typedoc/interfaces/Provider.html +1 -1
- package/docs/static/typedoc/interfaces/RequestConfig.html +48 -0
- package/docs/static/typedoc/interfaces/RequestShortcutConfig.html +38 -0
- package/docs/static/typedoc/interfaces/ServiceProvider.html +1 -1
- package/docs/static/typedoc/interfaces/TranscludeFunctionObject.html +1 -1
- package/docs/static/typedoc/types/AnnotatedFactory.html +1 -1
- package/docs/static/typedoc/types/CloneAttachFunction.html +1 -1
- package/docs/static/typedoc/types/ControllerConstructor.html +1 -1
- package/docs/static/typedoc/types/DirectiveCompileFn.html +1 -1
- package/docs/static/typedoc/types/DirectiveController.html +1 -1
- package/docs/static/typedoc/types/DirectiveFactory.html +1 -1
- package/docs/static/typedoc/types/DirectiveLinkFn.html +1 -1
- package/docs/static/typedoc/types/ExpandoStore.html +2 -0
- package/docs/static/typedoc/types/Expression.html +1 -1
- package/docs/static/typedoc/types/FilterFactory.html +1 -1
- package/docs/static/typedoc/types/FilterFn.html +1 -1
- package/docs/static/typedoc/types/HttpPromise.html +1 -0
- package/docs/static/typedoc/types/Injectable.html +1 -1
- package/docs/static/typedoc/types/InjectableFactory.html +1 -1
- package/docs/static/typedoc/types/LogCall.html +2 -0
- package/docs/static/typedoc/types/LogServiceFactory.html +2 -0
- package/docs/static/typedoc/types/OnChangesObject.html +1 -1
- package/docs/static/typedoc/types/SwapInsertPosition.html +1 -1
- package/docs/static/typedoc/types/TController.html +1 -1
- package/docs/static/typedoc/types/TemplateCache.html +2 -0
- package/docs/static/typedoc/variables/EventBus.html +1 -0
- package/index.html +4 -2
- package/package.json +3 -3
- package/src/animations/animate-css.js +5 -1
- package/src/binding.spec.js +3 -1
- package/src/core/compile/compile.spec.js +12 -5
- package/src/core/core.html +0 -1
- package/src/core/exception-handler.js +1 -1
- package/src/core/prop.spec.js +1 -0
- package/src/core/task-tracker-factory.js +2 -2
- package/src/directive/bind/bind.spec.js +1 -4
- package/src/directive/channel/channel.js +8 -24
- package/src/directive/channel/channel.spec.js +4 -2
- package/src/directive/class/class.js +16 -0
- package/src/directive/class/class.spec.js +2 -0
- package/src/directive/events/event.spec.js +1 -0
- package/src/directive/form/form.spec.js +2 -0
- package/src/directive/http/http.js +4 -4
- package/src/directive/if/if.spec.js +2 -0
- package/src/directive/include/include.spec.js +1 -0
- package/src/directive/input/input.spec.js +1 -0
- package/src/directive/model/model.spec.js +3 -0
- package/src/directive/model-options/model-options.spec.js +2 -0
- package/src/directive/observe/observe.spec.js +2 -1
- package/src/{core/pubsub/pubsub.html → directive/on/on.html} +1 -1
- package/src/{core → directive/on}/on.spec.js +5 -3
- package/src/directive/on/on.test.js +11 -0
- package/src/directive/options/options.spec.js +1 -0
- package/src/directive/script/script.js +1 -1
- package/src/directive/select/select.spec.js +1 -0
- package/src/directive/setter/setter.js +1 -1
- package/src/directive/setter/setter.spec.js +2 -0
- package/src/directive/switch/switch.spec.js +1 -0
- package/src/injection-tokens.js +3 -0
- package/src/interface.ts +10 -0
- package/src/loader.js +3 -6
- package/src/public.js +3 -3
- package/src/router/directives/state-directives.spec.js +3 -1
- package/src/router/params/param-factory.js +6 -0
- package/src/router/params/param.js +22 -7
- package/src/router/router.html +0 -1
- package/src/router/router.test.js +2 -1
- package/src/router/services.spec.js +2 -0
- package/src/router/state/state-builder.js +3 -0
- package/src/router/state/state-builder.spec.js +2 -0
- package/src/router/state/state-service.js +1 -1
- package/src/router/state-filter.spec.js +2 -0
- package/src/router/template-factory.html +19 -0
- package/src/router/template-factory.js +3 -3
- package/src/router/template-factory.spec.js +1 -0
- package/src/router/template-factory.test.js +12 -0
- package/src/router/transition/transition-hook.js +1 -1
- package/src/router/url/url-service.js +1 -1
- package/src/router/view-scroll.spec.js +3 -1
- package/src/services/http/http.js +4 -4
- package/src/services/http/http.test.js +1 -1
- package/src/services/http/interface.ts +243 -0
- package/src/services/http-backend/http-backend.js +21 -11
- package/src/services/log/interface.ts +39 -0
- package/src/services/log/log.html +19 -0
- package/src/services/log/log.js +74 -0
- package/src/services/log/log.spec.js +64 -0
- package/src/services/log/log.test.js +11 -0
- package/src/services/pubsub/pubsub.html +19 -0
- package/src/{core → services}/pubsub/pubsub.js +6 -5
- package/src/{core → services}/pubsub/pubsub.spec.js +3 -3
- package/src/{core → services}/pubsub/pubsub.test.js +1 -1
- package/src/services/template-cache/interface.ts +4 -0
- package/src/services/template-cache/template-cache.html +22 -0
- package/src/services/template-cache/template-cache.js +13 -0
- package/src/services/template-cache/template-cache.spec.js +62 -0
- package/src/services/template-cache/template-cache.test.js +11 -0
- package/src/services/template-request.js +2 -2
- package/src/shared/cache.js +9 -0
- package/src/shared/dom.js +13 -7
- package/utils/express.js +7 -9
- package/@types/core/cache/cache-factory.d.ts +0 -22
- package/@types/core/cache/cache.d.ts +0 -28
- package/@types/services/log.d.ts +0 -53
- package/src/core/cache/cache-factory.js +0 -19
- package/src/core/cache/cache.js +0 -27
- package/src/directive/class/class.md +0 -90
- package/src/directive/cloak/cloak.md +0 -24
- package/src/examples/counter.html +0 -20
- package/src/services/log.js +0 -95
- package/src/services/log.md +0 -39
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: $log
|
|
3
|
+
description: >
|
|
4
|
+
A simple service for logging
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
### Using `$log`
|
|
8
|
+
|
|
9
|
+
Default implementation of
|
|
10
|
+
[LogService](../../../typedoc/interfaces/LogService.html) safely writes the
|
|
11
|
+
message into the browser's
|
|
12
|
+
[console](https://developer.mozilla.org/en-US/docs/Web/API/console) (if
|
|
13
|
+
present). The main purpose of this service is to simplify debugging and
|
|
14
|
+
troubleshooting, while allowing the developer to modify the defaults for live
|
|
15
|
+
environments.
|
|
16
|
+
|
|
17
|
+
##### **Example\***
|
|
18
|
+
|
|
19
|
+
```js
|
|
20
|
+
angular.module('demo').controller('MyController', ($log) => {
|
|
21
|
+
$log.log('log');
|
|
22
|
+
$log.info('info');
|
|
23
|
+
$log.warn('warn!');
|
|
24
|
+
$log.error('error');
|
|
25
|
+
$log.debug('debug');
|
|
26
|
+
});
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
To reveal the location of the calls to `$log` in the JavaScript console, you can
|
|
30
|
+
"blackbox" the AngularTS source in your browser:
|
|
31
|
+
|
|
32
|
+
- [Mozilla description of blackboxing](https://developer.mozilla.org/en-US/docs/Tools/Debugger/How_to/Black_box_a_source).
|
|
33
|
+
- [Chrome description of blackboxing](https://developer.chrome.com/devtools/docs/blackboxing).
|
|
34
|
+
|
|
35
|
+
> Note: Not all browsers support blackboxing.
|
|
36
|
+
> The default is to log `debug` messages. You can use
|
|
37
|
+
> [`$logProvider.debug`](../../../docs/provider/logprovider/#logprovidersetlogger)
|
|
38
|
+
> to change this.
|
|
39
|
+
|
|
40
|
+
For configuration and custom implementations, see
|
|
41
|
+
[$logProvider](../../../docs/provider/logprovider).
|
|
42
|
+
|
|
43
|
+
### Decorating `$log`
|
|
44
|
+
|
|
45
|
+
You can also optionally override any of the `$log` service methods with
|
|
46
|
+
`$provide` decorator. Below is a simple example that overrides default
|
|
47
|
+
`$log.error` to log errors to both console and a backend endpoint.
|
|
48
|
+
|
|
49
|
+
##### **Example\***
|
|
50
|
+
|
|
51
|
+
```js
|
|
52
|
+
angular.module('demo').config(($provide) => {
|
|
53
|
+
$provide.decorator('$log', ($delegate, $http, $exceptionHandler) => {
|
|
54
|
+
const originalError = $delegate.error;
|
|
55
|
+
$delegate.error = () => {
|
|
56
|
+
originalError.apply($delegate, arguments);
|
|
57
|
+
const errorMessage = Array.prototype.slice.call(arguments).join(' ');
|
|
58
|
+
$http.post('/api/log/error', { message: errorMessage });
|
|
59
|
+
};
|
|
60
|
+
return $delegate;
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### Overriding `console`
|
|
66
|
+
|
|
67
|
+
If your application is already heavily reliant on default
|
|
68
|
+
[console](https://developer.mozilla.org/en-US/docs/Web/API/console) logging or
|
|
69
|
+
you are using a third-party library where logging cannot be overriden, you can
|
|
70
|
+
still take advantage of Angular's services by modifying the globals at runtime.
|
|
71
|
+
Below is an example that overrides default `console.error` to logs errors to
|
|
72
|
+
both console and a backend endpoint.
|
|
73
|
+
|
|
74
|
+
##### **Example\***
|
|
75
|
+
|
|
76
|
+
```js
|
|
77
|
+
angular.module('demo').run(($http) => {
|
|
78
|
+
/**
|
|
79
|
+
* Decorate console.error to log error messages to the server.
|
|
80
|
+
*/
|
|
81
|
+
const $delegate = window.console.error;
|
|
82
|
+
window.console.error = (...args) => {
|
|
83
|
+
try {
|
|
84
|
+
const errorMessage = args
|
|
85
|
+
.map((arg) => (arg instanceof Error ? arg.stack : JSON.stringify(arg)))
|
|
86
|
+
.join(' ');
|
|
87
|
+
$delegate.apply(console, args);
|
|
88
|
+
$http.post('/api/log/error', { message: errorMessage });
|
|
89
|
+
} catch (e) {
|
|
90
|
+
console.warn(e);
|
|
91
|
+
}
|
|
92
|
+
};
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* Detect errors thrown outside Angular and report them to the server.
|
|
96
|
+
*/
|
|
97
|
+
window.addEventListener('error', (e) => {
|
|
98
|
+
window.console.error(e.error || e.message, e);
|
|
99
|
+
});
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* Optionally: Capture unhandled promise rejections
|
|
103
|
+
*/
|
|
104
|
+
window.addEventListener('unhandledrejection', (e) => {
|
|
105
|
+
window.console.error(e.reason || e);
|
|
106
|
+
});
|
|
107
|
+
});
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
Combining both `$log` decoration and `console.log` overriding provides a robust
|
|
111
|
+
and flexible error reporting strategy that can adapt to your use-case.
|
|
112
|
+
|
|
113
|
+
\* array notation and HTTP error handling omitted for brevity
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: $templateCache
|
|
3
|
+
description: >
|
|
4
|
+
Map object for storing templates
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
`$templateCache` is a
|
|
8
|
+
[Map](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map)
|
|
9
|
+
object created by `$templateCacheProvider`.
|
|
10
|
+
|
|
11
|
+
The first time a template is used, it is loaded in the template cache for quick
|
|
12
|
+
retrieval. You can load templates directly into the cache in a script tag, by
|
|
13
|
+
using $templateRequest, or by consuming the $templateCache service directly.
|
|
14
|
+
|
|
15
|
+
Adding via the script tag:
|
|
16
|
+
|
|
17
|
+
#### Example
|
|
18
|
+
|
|
19
|
+
```html
|
|
20
|
+
<script type="text/ng-template" id="templateId.html">
|
|
21
|
+
<p>This is the content of the template</p>
|
|
22
|
+
</script>
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Note: the script tag containing the template does not need to be included in the
|
|
26
|
+
head of the document, but it must be a descendent of the $rootElement (e.g.
|
|
27
|
+
element with `ng-app` attribute), otherwise the template will be ignored.
|
|
28
|
+
|
|
29
|
+
Adding via the `$templateCache` service:
|
|
30
|
+
|
|
31
|
+
#### Example
|
|
32
|
+
|
|
33
|
+
```js
|
|
34
|
+
const myApp = angular.module('myApp', []).run(($templateCache) => {
|
|
35
|
+
$templateCache.set('templateId.html', 'This is the content of the template');
|
|
36
|
+
});
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
To retrieve the template, simply use it in your component:
|
|
40
|
+
|
|
41
|
+
```js
|
|
42
|
+
myApp.component('myComponent', {
|
|
43
|
+
templateUrl: 'templateId.html',
|
|
44
|
+
});
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
or include it with `ng-include`:
|
|
48
|
+
|
|
49
|
+
```html
|
|
50
|
+
<div ng-include="'templateId.html`"></div>
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
or get it via the `$templateCache` service:
|
|
54
|
+
|
|
55
|
+
```js
|
|
56
|
+
myApp.controller(
|
|
57
|
+
'Test',
|
|
58
|
+
class {
|
|
59
|
+
constructor($templateCache) {
|
|
60
|
+
const tmp = $templateCache.get('templateId.html');
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
);
|
|
64
|
+
```
|
package/docs/hugo.yaml
CHANGED
|
@@ -33,7 +33,7 @@ permalinks:
|
|
|
33
33
|
imaging:
|
|
34
34
|
resampleFilter: CatmullRom
|
|
35
35
|
quality: 75
|
|
36
|
-
anchor:
|
|
36
|
+
anchor: Smart
|
|
37
37
|
|
|
38
38
|
markup:
|
|
39
39
|
goldmark:
|
|
@@ -115,7 +115,7 @@ params:
|
|
|
115
115
|
# from_year: 2018
|
|
116
116
|
|
|
117
117
|
customCSS:
|
|
118
|
-
-
|
|
118
|
+
- 'css/index.css'
|
|
119
119
|
|
|
120
120
|
# User interface configuration
|
|
121
121
|
ui:
|
|
@@ -197,4 +197,4 @@ menu:
|
|
|
197
197
|
main:
|
|
198
198
|
- name: 'API'
|
|
199
199
|
url: '/typedoc/index.html'
|
|
200
|
-
weight:
|
|
200
|
+
weight: 50
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{{ $code := readFile (printf "static/%s" (.Get "src")) }} {{ $code | safeHTML }}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html>
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8" />
|
|
5
|
+
<title>AngularTS Test Runner</title>
|
|
6
|
+
|
|
7
|
+
<link rel="shortcut icon" type="image/png" href="/images/favicon.ico" />
|
|
8
|
+
<script src="
|
|
9
|
+
https://cdn.jsdelivr.net/npm/@angular-wave/angular.ts/dist/angular-ts.umd.min.js
|
|
10
|
+
"></script>
|
|
11
|
+
</head>
|
|
12
|
+
<body>
|
|
13
|
+
<div ng-app>
|
|
14
|
+
<div ng-include="'./counter.html'"></div>
|
|
15
|
+
</div>
|
|
16
|
+
</body>
|
|
17
|
+
</html>
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { test, expect } from '@playwright/test';
|
|
2
|
+
|
|
3
|
+
const TEST_URL = 'docs/static/examples/counter/counter-test.html';
|
|
4
|
+
|
|
5
|
+
test('counter example', async ({ page }) => {
|
|
6
|
+
await page.goto(TEST_URL);
|
|
7
|
+
await page.content();
|
|
8
|
+
|
|
9
|
+
// Locate the button
|
|
10
|
+
const counterButton = page.locator('button');
|
|
11
|
+
|
|
12
|
+
// Verify initial count
|
|
13
|
+
await expect(counterButton).toHaveText('Count is: 0');
|
|
14
|
+
|
|
15
|
+
// Click once
|
|
16
|
+
await counterButton.click();
|
|
17
|
+
await expect(counterButton).toHaveText('Count is: 1');
|
|
18
|
+
|
|
19
|
+
// Click again
|
|
20
|
+
await counterButton.click();
|
|
21
|
+
await expect(counterButton).toHaveText('Count is: 2');
|
|
22
|
+
|
|
23
|
+
// Click three more times
|
|
24
|
+
await counterButton.click();
|
|
25
|
+
await counterButton.click();
|
|
26
|
+
await counterButton.click();
|
|
27
|
+
await expect(counterButton).toHaveText('Count is: 5');
|
|
28
|
+
});
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html>
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8" />
|
|
5
|
+
<title>AngularTS Test Runner</title>
|
|
6
|
+
|
|
7
|
+
<link rel="shortcut icon" type="image/png" href="/images/favicon.ico" />
|
|
8
|
+
<script src="
|
|
9
|
+
https://cdn.jsdelivr.net/npm/@angular-wave/angular.ts/dist/angular-ts.umd.min.js
|
|
10
|
+
"></script>
|
|
11
|
+
</head>
|
|
12
|
+
<body>
|
|
13
|
+
<div ng-app="demo">
|
|
14
|
+
<div ng-include="'./eventbus.html'"></div>
|
|
15
|
+
</div>
|
|
16
|
+
|
|
17
|
+
<script src="./eventbus.js"></script>
|
|
18
|
+
</body>
|
|
19
|
+
</html>
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<section ng-app="demo">
|
|
2
|
+
<div ng-controller="DemoCtrl as $ctrl">
|
|
3
|
+
Milliseconds elapsed since the epoch <b>{{ $ctrl.ms }}</b>
|
|
4
|
+
</div>
|
|
5
|
+
</section>
|
|
6
|
+
|
|
7
|
+
<!--We are using a regular onclick and `angular` global -->
|
|
8
|
+
<button
|
|
9
|
+
class="btn btn-dark"
|
|
10
|
+
onclick="angular.$eventBus.publish('demo', Date.now())"
|
|
11
|
+
>
|
|
12
|
+
Publish time
|
|
13
|
+
</button>
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
angular.module('demo', []).controller(
|
|
2
|
+
'DemoCtrl',
|
|
3
|
+
class {
|
|
4
|
+
static $inject = ['$eventBus', '$scope'];
|
|
5
|
+
constructor($eventBus, $scope) {
|
|
6
|
+
const key = $eventBus.subscribe('demo', (val) => {
|
|
7
|
+
// `this.ms = val` will not work because `this` is not a proxy
|
|
8
|
+
// to trigger change detection, we access controller as a scope property
|
|
9
|
+
$scope.$ctrl.ms = val;
|
|
10
|
+
});
|
|
11
|
+
|
|
12
|
+
$scope.$on('$destroy', () => $eventBus.unsubscribeByKey(key));
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
);
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { test, expect } from '@playwright/test';
|
|
2
|
+
|
|
3
|
+
const TEST_URL = 'docs/static/examples/eventbus/eventbus-test.html';
|
|
4
|
+
|
|
5
|
+
test('eventbus example', async ({ page }) => {
|
|
6
|
+
await page.goto(TEST_URL);
|
|
7
|
+
await page.content();
|
|
8
|
+
// Click the publish button
|
|
9
|
+
await page.click('button.btn-dark');
|
|
10
|
+
|
|
11
|
+
await expect(page.locator('b')).toHaveText(/^\d+$/, { timeout: 1000 });
|
|
12
|
+
|
|
13
|
+
const updatedText = await page.locator('b').innerText();
|
|
14
|
+
const timestamp = Number(updatedText);
|
|
15
|
+
const now = Date.now();
|
|
16
|
+
|
|
17
|
+
expect(timestamp).toBeGreaterThan(now - 5000); // allow 5 seconds slack
|
|
18
|
+
expect(timestamp).toBeLessThanOrEqual(now);
|
|
19
|
+
});
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html>
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8" />
|
|
5
|
+
<title>AngularTS Test Runner</title>
|
|
6
|
+
|
|
7
|
+
<link rel="shortcut icon" type="image/png" href="/images/favicon.ico" />
|
|
8
|
+
<script src="
|
|
9
|
+
https://cdn.jsdelivr.net/npm/@angular-wave/angular.ts/dist/angular-ts.umd.min.js
|
|
10
|
+
"></script>
|
|
11
|
+
</head>
|
|
12
|
+
<body>
|
|
13
|
+
<div ng-app>
|
|
14
|
+
<div ng-include="'./ng-channel.html'"></div>
|
|
15
|
+
</div>
|
|
16
|
+
</body>
|
|
17
|
+
</html>
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<div ng-app>
|
|
2
|
+
<!-- With empty node -->
|
|
3
|
+
<div ng-channel="epoch"></div>
|
|
4
|
+
|
|
5
|
+
<!-- With template -->
|
|
6
|
+
<div ng-channel="user">Hello {{ user.firstName }} {{ user.lastName }}</div>
|
|
7
|
+
</div>
|
|
8
|
+
|
|
9
|
+
<button
|
|
10
|
+
class="btn btn-dark"
|
|
11
|
+
onclick='angular.$eventBus.publish("epoch", Date.now())'
|
|
12
|
+
>
|
|
13
|
+
Publish epoch
|
|
14
|
+
</button>
|
|
15
|
+
|
|
16
|
+
<button
|
|
17
|
+
class="btn btn-dark"
|
|
18
|
+
onclick='angular.$eventBus.publish("user", {user: {
|
|
19
|
+
firstName: "John",
|
|
20
|
+
lastName: "Smith"
|
|
21
|
+
}})'
|
|
22
|
+
>
|
|
23
|
+
Publish name
|
|
24
|
+
</button>
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { test, expect } from '@playwright/test';
|
|
2
|
+
|
|
3
|
+
const TEST_URL = 'docs/static/examples/ng-channel/ng-channel-test.html';
|
|
4
|
+
|
|
5
|
+
test('updates empty ng-channel element with published epoch', async ({
|
|
6
|
+
page,
|
|
7
|
+
}) => {
|
|
8
|
+
await page.goto(TEST_URL);
|
|
9
|
+
await page.content();
|
|
10
|
+
const epochDiv = page.locator('[ng-channel="epoch"]');
|
|
11
|
+
await expect(epochDiv).toHaveText('');
|
|
12
|
+
|
|
13
|
+
await page.click('text=Publish epoch');
|
|
14
|
+
|
|
15
|
+
// Wait for innerHTML to be updated
|
|
16
|
+
await expect(epochDiv).not.toHaveText('');
|
|
17
|
+
await expect(epochDiv).toContainText(/^\d+$/); // Should be a timestamp
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
test('updates templated ng-channel element with published user data', async ({
|
|
21
|
+
page,
|
|
22
|
+
}) => {
|
|
23
|
+
await page.goto(TEST_URL);
|
|
24
|
+
await page.content();
|
|
25
|
+
const userDiv = page.locator('[ng-channel="user"]');
|
|
26
|
+
await expect(userDiv).toHaveText(/Hello\s*/);
|
|
27
|
+
|
|
28
|
+
await page.click('text=Publish name');
|
|
29
|
+
|
|
30
|
+
await expect(userDiv).toContainText('Hello John Smith');
|
|
31
|
+
});
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
<style>
|
|
2
|
+
.strike {
|
|
3
|
+
text-decoration: line-through;
|
|
4
|
+
}
|
|
5
|
+
.bold {
|
|
6
|
+
font-weight: bold !important;
|
|
7
|
+
}
|
|
8
|
+
.red {
|
|
9
|
+
color: red;
|
|
10
|
+
}
|
|
11
|
+
.has-error {
|
|
12
|
+
color: red;
|
|
13
|
+
background-color: yellow;
|
|
14
|
+
}
|
|
15
|
+
.orange {
|
|
16
|
+
color: orange;
|
|
17
|
+
}
|
|
18
|
+
</style>
|
|
19
|
+
<section ng-app>
|
|
20
|
+
<p ng-class="{strike: deleted, bold: important, 'has-error': error}">
|
|
21
|
+
Map Syntax Example
|
|
22
|
+
</p>
|
|
23
|
+
<label>
|
|
24
|
+
<input type="checkbox" ng-model="deleted" />deleted (apply "strike" class)
|
|
25
|
+
</label>
|
|
26
|
+
<br />
|
|
27
|
+
<label>
|
|
28
|
+
<input type="checkbox" ng-model="important" />important (apply "bold" class)
|
|
29
|
+
</label>
|
|
30
|
+
<br />
|
|
31
|
+
<label>
|
|
32
|
+
<input type="checkbox" ng-model="error" />error (apply "has-error" class)
|
|
33
|
+
</label>
|
|
34
|
+
<hr />
|
|
35
|
+
<p ng-class="style">Using String Syntax</p>
|
|
36
|
+
<input
|
|
37
|
+
type="text"
|
|
38
|
+
ng-model="style"
|
|
39
|
+
placeholder="Type: bold strike red"
|
|
40
|
+
aria-label="Type: bold strike red"
|
|
41
|
+
/>
|
|
42
|
+
<hr />
|
|
43
|
+
<p ng-class="[style1, style2, style3]">Using Array Syntax</p>
|
|
44
|
+
<input
|
|
45
|
+
ng-model="style1"
|
|
46
|
+
placeholder="Type: bold, strike or red"
|
|
47
|
+
aria-label="Type: bold, strike or red"
|
|
48
|
+
/><br />
|
|
49
|
+
<input
|
|
50
|
+
ng-model="style2"
|
|
51
|
+
placeholder="Type: bold, strike or red"
|
|
52
|
+
aria-label="Type: bold, strike or red 2"
|
|
53
|
+
/><br />
|
|
54
|
+
<input
|
|
55
|
+
ng-model="style3"
|
|
56
|
+
placeholder="Type: bold, strike or red"
|
|
57
|
+
aria-label="Type: bold, strike or red 3"
|
|
58
|
+
/><br />
|
|
59
|
+
<hr />
|
|
60
|
+
<p ng-class="[style4, {orange: warning}]">Using Array and Map Syntax</p>
|
|
61
|
+
<input
|
|
62
|
+
ng-model="style4"
|
|
63
|
+
placeholder="Type: bold, strike"
|
|
64
|
+
aria-label="Type: bold, strike"
|
|
65
|
+
/>
|
|
66
|
+
<br />
|
|
67
|
+
<label
|
|
68
|
+
><input type="checkbox" ng-model="warning" /> warning (apply "orange"
|
|
69
|
+
class)</label
|
|
70
|
+
>
|
|
71
|
+
</section>
|
|
File without changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
window.hierarchyData = "
|
|
1
|
+
window.hierarchyData = "eJyVjrEKwjAQht/l5lShtRW66uAoOkqHkFxsME00ubiUvruJgwgW1OmH/+67+0bwzlGA9lRWdcfAozIoSDubuhFSmcPyAaGFHdF1791dS/RbVDyaRDK4aCuhLeuGQfQm7WlL6BUXGJZzyKKnwSROGB7SF6Agi3yjeHF52GsjPdpstlp3E4MUby4HvEUMdOydJxFp46zS5y8ys8zfNk31tGmqT5t/LH7+Pk3TAxAbj6k="
|
|
@@ -1 +1 @@
|
|
|
1
|
-
window.navigationData = "
|
|
1
|
+
window.navigationData = "eJyVl01z0zAQhv+Lzx2gYcpHbyVtaGcKyeDcGA6KvYlFZclIa9MO0/+O0jixZX32ltH76vFqJe0qP/9lCI+YXWb3YreSoqMlyOwsawhWerBgRClQb0fimwprph0PlJfZ5fns0/PZibFqN3m7sacfxuMz/QGYeoi0hrphBGFOigr8QKctxJ1XhO9ALTe/ocCBRzmC3JJCIw2HiZpdfBijRN0IDhyXDVLBlZs2MYWBHKVgbLxQA3WUQ5BrKnXctAMn46QmIVYSVkK50zQ1hYC3iM0tEL016isgetZnuWLI435fw5a0DN0b4DLGwD/gTwsKdcK3dNeH5IW7zIkfWEvC1VbIOpAR2xqHK33klPsAjA2poLQwLW8Mn4PsaOEPs9dDGF3QQpRBDkG+776JEljk9lmuBGSoMJiWEMyufiOMu+aZAOOEOimGIwGVV0Ji0SYgTWcI3e9UcLUTTwj3chAL1pawaHmxT3Kg5vvMoQ9ccS5Qt55yQQoU8mkA41OjmVN9wnr3+eP5xWxc/ZnuE1eIupMdg5giHZYo9XRe9S+Fst3HYnFdphj51AD2LY4yWFjh2o5XMO3LaEE9N9FP9ezUVE/m3VP+EFj2QY7Rbh4bwkuR6y/DFDXWEjgSlHIcm0GJMRaU6TvhSZMhJpKsWI7jsfl9266pspIykmKUO76/xWTDLMigpDM8ebEMMaJuS3PC2JTTDyfM7sugJx7LECMuuedVfOBN5Bgt/0uaO/0SkKifhdRVxmxHjLn214N1eh0w/ixYnLEYvWudftF/aUedvSOS7o+Avm29ZjLez55//Qc9SK6h"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
window.searchData = "
|
|
1
|
+
window.searchData = "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";
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
<!DOCTYPE html><html class="default" lang="en" data-base="../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>LogProvider | AngularTS</title><meta name="description" content="Documentation for AngularTS"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="../index.html" class="title">AngularTS</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="" aria-current="page">LogProvider</a></li></ul><h1>Class LogProvider</h1></div><section class="tsd-panel tsd-comment"><div class="tsd-comment tsd-typography"><p>Configuration provider for <code>$log</code> service</p>
|
|
2
|
+
</div><div class="tsd-comment tsd-typography"></div></section><section class="tsd-panel-group tsd-index-group"><section class="tsd-panel tsd-index-panel"><details class="tsd-index-content tsd-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h5 class="tsd-index-heading uppercase">Index</h5></summary><div class="tsd-accordion-details"><section class="tsd-index-section"><h3 class="tsd-index-heading">Properties</h3><div class="tsd-index-list"><a href="#debug" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>debug</span></a>
|
|
3
|
+
</div></section><section class="tsd-index-section"><h3 class="tsd-index-heading">Methods</h3><div class="tsd-index-list"><a href="#get" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>$get</span></a>
|
|
4
|
+
<a href="#setlogger" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>set<wbr/>Logger</span></a>
|
|
5
|
+
</div></section></div></details></section></section><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Properties"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h2>Properties</h2></summary><section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="debug"><span>debug</span><a href="#debug" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">debug</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><div class="tsd-comment tsd-typography"></div></section></section></details><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Methods"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h2>Methods</h2></summary><section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="get"><span>$get</span><a href="#get" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="get-1"><span class="tsd-kind-call-signature">$get</span><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <a href="../interfaces/LogService.html" class="tsd-signature-type tsd-kind-interface">LogService</a><a href="#get-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><h4 class="tsd-returns-title">Returns <a href="../interfaces/LogService.html" class="tsd-signature-type tsd-kind-interface">LogService</a></h4><div class="tsd-comment tsd-typography"></div></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="setlogger"><span>set<wbr/>Logger</span><a href="#setlogger" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="setlogger-1"><span class="tsd-kind-call-signature">setLogger</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">fn</span><span class="tsd-signature-symbol">:</span> <a href="../types/LogServiceFactory.html" class="tsd-signature-type tsd-kind-type-alias">LogServiceFactory</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><a href="#setlogger-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Override the default <a href="../interfaces/LogService.html" class="tsd-kind-interface">LogService</a> implemenation</p>
|
|
6
|
+
</div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">fn</span>: <a href="../types/LogServiceFactory.html" class="tsd-signature-type tsd-kind-type-alias">LogServiceFactory</a></span><div class="tsd-comment tsd-typography"></div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><div class="tsd-comment tsd-typography"></div></div></li></ul></section></section></details></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div><details open class="tsd-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>On This Page</h3></summary><div class="tsd-accordion-details"><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Properties"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Properties</summary><div><a href="#debug"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>debug</span></a></div></details><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Methods"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Methods</summary><div><a href="#get"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>$get</span></a><a href="#setlogger"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>set<wbr/>Logger</span></a></div></details></div></details></div><div class="site-menu"><nav class="tsd-navigation"><a href="../index.html">AngularTS</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|