<commit_before># `fd-angular-core`

## Requirements

* a `Promise` polyfill.

## Getting started

```js
import {bootstrap, State} from 'npm:fd-angular-core';

@State({
  template: `<p>{{ app.message }}</p>`
})
class AppController {

  constructor() {
    this.message = "Hello world!";
  }

  activate() {
    // can return a promise
  }

  attach() {

  }

  detach() {
    
  }

}

bootstrap(AppController); // => Promise
```
<commit_msg>Added longer readme<commit_after># `fd-angular-core`

## Requirements

* a `Promise` polyfill.

## Getting started

```js
import {bootstrap, State} from 'npm:fd-angular-core';

@State({
  template: `<p>{{ app.message }}</p>`
})
class AppController {

  constructor() {
    this.message = "Hello world!";
  }

  activate() {
    // can return a promise
  }

  attach() {

  }

  detach() {

  }

}

bootstrap(AppController); // => Promise
```

## `@Inject`

```js
@Inject('$scope')
class Foo {

  constructor($scope) {}

  @Inject('$scope')
  aMethod($scope) {}

}
```


## `$injector.superConstruct` and `$injector.superCall`

```js
class Foo extends Bar {

  constructor($injector) {
    $injector.superConstruct(this);
    // or:
    // $injector.superConstruct(this, locals);
  }

  aMethod($injector) {
    $injector.superCall(this, "aMethod");
    // or:
    // $injector.superCall(this, "aMethod", locals)
  }

}
```


## `@Service`

```js
@Service
// or: @Service('Foo')
class Foo {}
// this service is injectable as 'Foo'
```


## `@Controller`

```js
@Controller
// or: @Controller('Foo')
class Foo {}
// this controller is injectable as 'Foo'
```


## `@Component`

```js
@Component
// or: @Component({ ... })
class FooController {}
// this component can be used as `<foo>` or `<div foo></div>`
// and uses the `./components/foo/foo.html` template
```

**options**: `restrict`, `scope`, `template`, `templateUrl`

Set `template` to `false` to prevent the default template from being used.

{'fraction_non_alphanumeric': 0.19804022692109335, 'fraction_numerical': 0.0, 'mean_word_length': 3.3891402714932126, 'pattern_counts': {'":': 0, '<': 10, '<?xml version=': 0, '>': 12, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3449657', 'n_tokens_mistral': 720, 'n_tokens_neox': 670, 'n_words': 163}