Skip to content

Instantly share code, notes, and snippets.

View alexzuza's full-sized avatar
🎯
Focusing

Alexey Zuev alexzuza

🎯
Focusing
View GitHub Profile
@alexzuza
alexzuza / di_injectable_new_api.ts
Last active March 20, 2018 18:47
DI Injectable new API
export interface InjectableDecorator {
(): any;
(options?: {providedIn: Type<any>| 'root' | null}&InjectableProvider): any;
new (): Injectable;
new (options?: {providedIn: Type<any>| 'root' | null}&InjectableProvider): Injectable;
}
export type InjectableProvider = ValueSansProvider | ExistingSansProvider |
StaticClassSansProvider | ConstructorSansProvider | FactorySansProvider | ClassSansProvider;
@alexzuza
alexzuza / di_injectable_new_api_example.ts
Created March 20, 2018 19:05
DI injectable new api example
@Injectable({
providedIn: 'root'
})
export class SomeService {}
@Injectable({
providedIn: 'root',
useClass: MyService,
deps: []
})
@alexzuza
alexzuza / di_injection_token_new_api.ts
Created March 20, 2018 19:06
DI injection token new api
export class InjectionToken<T> {
constructor(protected _desc: string, options?: {
providedIn?: Type<any>| 'root' | null,
factory: () => T
}) {}
}
@alexzuza
alexzuza / di_injection_token_new_api_example.ts
Created March 20, 2018 19:07
DI injection token new api example
export const apiUrl = new InjectionToken('tree-shakeable apiUrl token', {
providedIn: 'root',
factory: () => 'someUrl'
});
ng.probe($0).injector.elDef.element
@alexzuza
alexzuza / di_merge_injector_console.ts
Created March 20, 2018 20:39
DI merge injector console
ng.probe($0).injector
@alexzuza
alexzuza / ve.2-6.ts
Last active April 1, 2018 07:30
ViewEngine2-6
(function anonymous(jit_StaticNodeDebugInfo0,jit_createRenderComponentType1,
jit_22,jit_DebugAppView3,jit_14,jit_CD_INIT_VALUE5,
jit_createRenderElement6,jit__object_Object_7,jit_inlineInterpolate8,jit_checkBinding9
) {
var styles_App = [];
var nodeDebugInfos_App0 = [
new jit_StaticNodeDebugInfo0([],null,{}),
new jit_StaticNodeDebugInfo0([],null,{}),
new jit_StaticNodeDebugInfo0([],null,{}),
new jit_StaticNodeDebugInfo0([],null,{}),
// The current nodes being processed
let currentNode = null;
let currentParent = null;
function enterNode() {
currentParent = currentNode;
currentNode = null;
}
function nextNode() {
currentNode = currentNode ?
function renderDOM(name) {
const node = name === '#text' ?
document.createTextNode('') :
document.createElement(name);
currentParent.insertBefore(node, currentNode);
currentNode = node;
return node;
@alexzuza
alexzuza / idom.data.js
Last active April 4, 2018 20:26
IDOM data
const NODE_DATA_KEY = '__ID_Data__';
class NodeData {
// key
// attrs
constructor(name) {
this.name = name;
this.text = null;
}