design: added selector interface
This commit is contained in:
parent
33af1d0b39
commit
fd0c2d8063
|
@ -0,0 +1,9 @@
|
|||
import {Type, FIELD} from 'facade/lang';
|
||||
import {Directive} from '../annotations/directive'
|
||||
|
||||
export class AnnotatedType {
|
||||
constructor(annotation:Directive, type:Type) {
|
||||
this.annotation = annotation;
|
||||
this.type = type;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
import {Type} from 'facade/lang';
|
||||
import {Directive} from '../annotations/directive'
|
||||
|
||||
/**
|
||||
* Interface representing a way of extracting [Directive] annotations from
|
||||
* [Type]. This interface has three native implementations:
|
||||
*
|
||||
* 1) JavaScript native implementation
|
||||
* 2) Dart reflective implementation
|
||||
* 3) Dart transformer generated implementation
|
||||
*/
|
||||
export class AnnotationsExtractor {
|
||||
extract(type:Type):Directive {
|
||||
return null;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
import {Set} from 'facade/lang';
|
||||
//import {AnnotatedType} from './annotated_type';
|
||||
|
||||
export class Selector {
|
||||
constructor(directives:Set<AnnotatedType>) {
|
||||
this.directives = directives;
|
||||
}
|
||||
|
||||
/**
|
||||
* When presented with an element description it will return the current set of
|
||||
* directives which are present on the element.
|
||||
*
|
||||
* @param elementName Name of the element
|
||||
* @param attributes Attributes on the Element.
|
||||
*/
|
||||
visitElement(elementName:String, attributes:Map<string, string>):List<AnnotatedType> {
|
||||
return null;
|
||||
}
|
||||
}
|
|
@ -1,8 +1,7 @@
|
|||
library facade.collection;
|
||||
|
||||
import 'dart:collection' show HashMap;
|
||||
export 'dart:collection' show Map;
|
||||
export 'dart:core' show List;
|
||||
export 'dart:core' show Map, List, Set;
|
||||
|
||||
class MapWrapper {
|
||||
static HashMap create() => new HashMap();
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
export var List = window.Array;
|
||||
export var Map = window.Map;
|
||||
export var Set = window.Set;
|
||||
|
||||
export class MapWrapper {
|
||||
static create():HashMap { return new HashMap(); }
|
||||
static get(m, k) { return m[k]; }
|
||||
|
|
Loading…
Reference in New Issue