Showing preview only (6,530K chars total). Download the full file or copy to clipboard to get everything.
Repository: gocardless/es6-angularjs
Branch: master
Commit: 890fbad12e8b
Files: 936
Total size: 6.0 MB
Directory structure:
gitextract_pu2spuzi/
├── .bowerrc
├── .editorconfig
├── .gitignore
├── .jshintignore
├── .jshintrc
├── README.md
├── bower.json
├── client/
│ ├── 404.html
│ ├── app/
│ │ ├── bootstrap.js
│ │ ├── components/
│ │ │ ├── auth-required/
│ │ │ │ ├── auth-required.controller.js
│ │ │ │ ├── auth-required.directive.js
│ │ │ │ └── auth-required.template.html
│ │ │ └── site-header/
│ │ │ ├── site-header.directive.js
│ │ │ └── site-header.template.html
│ │ ├── config/
│ │ │ └── main.config.js
│ │ ├── main.js
│ │ ├── routes/
│ │ │ ├── auth-required.route.js
│ │ │ ├── errors/
│ │ │ │ ├── 404/
│ │ │ │ │ ├── errors-404.route.js
│ │ │ │ │ └── errors-404.template.html
│ │ │ │ └── errors.route.js
│ │ │ └── home/
│ │ │ ├── home.route.js
│ │ │ └── index/
│ │ │ ├── home-index.e2e.js
│ │ │ ├── home-index.route.js
│ │ │ └── home-index.template.html
│ │ └── services/
│ │ └── current-user/
│ │ ├── current-user.js
│ │ └── current-user.spec.js
│ ├── assets/
│ │ └── stylesheets/
│ │ ├── main.css
│ │ ├── shared/
│ │ │ └── base.css
│ │ └── variables.css
│ ├── components/
│ │ ├── angular/
│ │ │ ├── .bower.json
│ │ │ ├── README.md
│ │ │ ├── angular-csp.css
│ │ │ ├── angular.js
│ │ │ ├── angular.min.js.gzip
│ │ │ ├── bower.json
│ │ │ └── package.json
│ │ ├── angular-animate/
│ │ │ ├── .bower.json
│ │ │ ├── README.md
│ │ │ ├── angular-animate.js
│ │ │ ├── bower.json
│ │ │ └── package.json
│ │ ├── angular-aria/
│ │ │ ├── .bower.json
│ │ │ ├── README.md
│ │ │ ├── angular-aria.js
│ │ │ ├── bower.json
│ │ │ └── package.json
│ │ ├── angular-i18n/
│ │ │ ├── .bower.json
│ │ │ ├── README.md
│ │ │ ├── angular-locale_aa-dj.js
│ │ │ ├── angular-locale_aa-er.js
│ │ │ ├── angular-locale_aa-et.js
│ │ │ ├── angular-locale_aa.js
│ │ │ ├── angular-locale_af-na.js
│ │ │ ├── angular-locale_af-za.js
│ │ │ ├── angular-locale_af.js
│ │ │ ├── angular-locale_agq-cm.js
│ │ │ ├── angular-locale_agq.js
│ │ │ ├── angular-locale_ak-gh.js
│ │ │ ├── angular-locale_ak.js
│ │ │ ├── angular-locale_am-et.js
│ │ │ ├── angular-locale_am.js
│ │ │ ├── angular-locale_ar-001.js
│ │ │ ├── angular-locale_ar-ae.js
│ │ │ ├── angular-locale_ar-bh.js
│ │ │ ├── angular-locale_ar-dj.js
│ │ │ ├── angular-locale_ar-dz.js
│ │ │ ├── angular-locale_ar-eg.js
│ │ │ ├── angular-locale_ar-eh.js
│ │ │ ├── angular-locale_ar-er.js
│ │ │ ├── angular-locale_ar-il.js
│ │ │ ├── angular-locale_ar-iq.js
│ │ │ ├── angular-locale_ar-jo.js
│ │ │ ├── angular-locale_ar-km.js
│ │ │ ├── angular-locale_ar-kw.js
│ │ │ ├── angular-locale_ar-lb.js
│ │ │ ├── angular-locale_ar-ly.js
│ │ │ ├── angular-locale_ar-ma.js
│ │ │ ├── angular-locale_ar-mr.js
│ │ │ ├── angular-locale_ar-om.js
│ │ │ ├── angular-locale_ar-ps.js
│ │ │ ├── angular-locale_ar-qa.js
│ │ │ ├── angular-locale_ar-sa.js
│ │ │ ├── angular-locale_ar-sd.js
│ │ │ ├── angular-locale_ar-so.js
│ │ │ ├── angular-locale_ar-ss.js
│ │ │ ├── angular-locale_ar-sy.js
│ │ │ ├── angular-locale_ar-td.js
│ │ │ ├── angular-locale_ar-tn.js
│ │ │ ├── angular-locale_ar-ye.js
│ │ │ ├── angular-locale_ar.js
│ │ │ ├── angular-locale_as-in.js
│ │ │ ├── angular-locale_as.js
│ │ │ ├── angular-locale_asa-tz.js
│ │ │ ├── angular-locale_asa.js
│ │ │ ├── angular-locale_ast-es.js
│ │ │ ├── angular-locale_ast.js
│ │ │ ├── angular-locale_az-cyrl-az.js
│ │ │ ├── angular-locale_az-cyrl.js
│ │ │ ├── angular-locale_az-latn-az.js
│ │ │ ├── angular-locale_az-latn.js
│ │ │ ├── angular-locale_az.js
│ │ │ ├── angular-locale_bas-cm.js
│ │ │ ├── angular-locale_bas.js
│ │ │ ├── angular-locale_be-by.js
│ │ │ ├── angular-locale_be.js
│ │ │ ├── angular-locale_bem-zm.js
│ │ │ ├── angular-locale_bem.js
│ │ │ ├── angular-locale_bez-tz.js
│ │ │ ├── angular-locale_bez.js
│ │ │ ├── angular-locale_bg-bg.js
│ │ │ ├── angular-locale_bg.js
│ │ │ ├── angular-locale_bm-latn-ml.js
│ │ │ ├── angular-locale_bm-latn.js
│ │ │ ├── angular-locale_bm-ml.js
│ │ │ ├── angular-locale_bm.js
│ │ │ ├── angular-locale_bn-bd.js
│ │ │ ├── angular-locale_bn-in.js
│ │ │ ├── angular-locale_bn.js
│ │ │ ├── angular-locale_bo-cn.js
│ │ │ ├── angular-locale_bo-in.js
│ │ │ ├── angular-locale_bo.js
│ │ │ ├── angular-locale_br-fr.js
│ │ │ ├── angular-locale_br.js
│ │ │ ├── angular-locale_brx-in.js
│ │ │ ├── angular-locale_brx.js
│ │ │ ├── angular-locale_bs-cyrl-ba.js
│ │ │ ├── angular-locale_bs-cyrl.js
│ │ │ ├── angular-locale_bs-latn-ba.js
│ │ │ ├── angular-locale_bs-latn.js
│ │ │ ├── angular-locale_bs.js
│ │ │ ├── angular-locale_byn-er.js
│ │ │ ├── angular-locale_byn.js
│ │ │ ├── angular-locale_ca-ad.js
│ │ │ ├── angular-locale_ca-es-valencia.js
│ │ │ ├── angular-locale_ca-es.js
│ │ │ ├── angular-locale_ca-fr.js
│ │ │ ├── angular-locale_ca-it.js
│ │ │ ├── angular-locale_ca.js
│ │ │ ├── angular-locale_cgg-ug.js
│ │ │ ├── angular-locale_cgg.js
│ │ │ ├── angular-locale_chr-us.js
│ │ │ ├── angular-locale_chr.js
│ │ │ ├── angular-locale_ckb-arab-iq.js
│ │ │ ├── angular-locale_ckb-arab-ir.js
│ │ │ ├── angular-locale_ckb-arab.js
│ │ │ ├── angular-locale_ckb-iq.js
│ │ │ ├── angular-locale_ckb-ir.js
│ │ │ ├── angular-locale_ckb-latn-iq.js
│ │ │ ├── angular-locale_ckb-latn.js
│ │ │ ├── angular-locale_ckb.js
│ │ │ ├── angular-locale_cs-cz.js
│ │ │ ├── angular-locale_cs.js
│ │ │ ├── angular-locale_cy-gb.js
│ │ │ ├── angular-locale_cy.js
│ │ │ ├── angular-locale_da-dk.js
│ │ │ ├── angular-locale_da-gl.js
│ │ │ ├── angular-locale_da.js
│ │ │ ├── angular-locale_dav-ke.js
│ │ │ ├── angular-locale_dav.js
│ │ │ ├── angular-locale_de-at.js
│ │ │ ├── angular-locale_de-be.js
│ │ │ ├── angular-locale_de-ch.js
│ │ │ ├── angular-locale_de-de.js
│ │ │ ├── angular-locale_de-li.js
│ │ │ ├── angular-locale_de-lu.js
│ │ │ ├── angular-locale_de.js
│ │ │ ├── angular-locale_dje-ne.js
│ │ │ ├── angular-locale_dje.js
│ │ │ ├── angular-locale_dsb-de.js
│ │ │ ├── angular-locale_dsb.js
│ │ │ ├── angular-locale_dua-cm.js
│ │ │ ├── angular-locale_dua.js
│ │ │ ├── angular-locale_dyo-sn.js
│ │ │ ├── angular-locale_dyo.js
│ │ │ ├── angular-locale_dz-bt.js
│ │ │ ├── angular-locale_dz.js
│ │ │ ├── angular-locale_ebu-ke.js
│ │ │ ├── angular-locale_ebu.js
│ │ │ ├── angular-locale_ee-gh.js
│ │ │ ├── angular-locale_ee-tg.js
│ │ │ ├── angular-locale_ee.js
│ │ │ ├── angular-locale_el-cy.js
│ │ │ ├── angular-locale_el-gr.js
│ │ │ ├── angular-locale_el.js
│ │ │ ├── angular-locale_en-001.js
│ │ │ ├── angular-locale_en-150.js
│ │ │ ├── angular-locale_en-ag.js
│ │ │ ├── angular-locale_en-ai.js
│ │ │ ├── angular-locale_en-as.js
│ │ │ ├── angular-locale_en-au.js
│ │ │ ├── angular-locale_en-bb.js
│ │ │ ├── angular-locale_en-be.js
│ │ │ ├── angular-locale_en-bm.js
│ │ │ ├── angular-locale_en-bs.js
│ │ │ ├── angular-locale_en-bw.js
│ │ │ ├── angular-locale_en-bz.js
│ │ │ ├── angular-locale_en-ca.js
│ │ │ ├── angular-locale_en-cc.js
│ │ │ ├── angular-locale_en-ck.js
│ │ │ ├── angular-locale_en-cm.js
│ │ │ ├── angular-locale_en-cx.js
│ │ │ ├── angular-locale_en-dg.js
│ │ │ ├── angular-locale_en-dm.js
│ │ │ ├── angular-locale_en-dsrt-us.js
│ │ │ ├── angular-locale_en-dsrt.js
│ │ │ ├── angular-locale_en-er.js
│ │ │ ├── angular-locale_en-fj.js
│ │ │ ├── angular-locale_en-fk.js
│ │ │ ├── angular-locale_en-fm.js
│ │ │ ├── angular-locale_en-gb.js
│ │ │ ├── angular-locale_en-gd.js
│ │ │ ├── angular-locale_en-gg.js
│ │ │ ├── angular-locale_en-gh.js
│ │ │ ├── angular-locale_en-gi.js
│ │ │ ├── angular-locale_en-gm.js
│ │ │ ├── angular-locale_en-gu.js
│ │ │ ├── angular-locale_en-gy.js
│ │ │ ├── angular-locale_en-hk.js
│ │ │ ├── angular-locale_en-ie.js
│ │ │ ├── angular-locale_en-im.js
│ │ │ ├── angular-locale_en-in.js
│ │ │ ├── angular-locale_en-io.js
│ │ │ ├── angular-locale_en-iso.js
│ │ │ ├── angular-locale_en-je.js
│ │ │ ├── angular-locale_en-jm.js
│ │ │ ├── angular-locale_en-ke.js
│ │ │ ├── angular-locale_en-ki.js
│ │ │ ├── angular-locale_en-kn.js
│ │ │ ├── angular-locale_en-ky.js
│ │ │ ├── angular-locale_en-lc.js
│ │ │ ├── angular-locale_en-lr.js
│ │ │ ├── angular-locale_en-ls.js
│ │ │ ├── angular-locale_en-mg.js
│ │ │ ├── angular-locale_en-mh.js
│ │ │ ├── angular-locale_en-mo.js
│ │ │ ├── angular-locale_en-mp.js
│ │ │ ├── angular-locale_en-ms.js
│ │ │ ├── angular-locale_en-mt.js
│ │ │ ├── angular-locale_en-mu.js
│ │ │ ├── angular-locale_en-mw.js
│ │ │ ├── angular-locale_en-my.js
│ │ │ ├── angular-locale_en-na.js
│ │ │ ├── angular-locale_en-nf.js
│ │ │ ├── angular-locale_en-ng.js
│ │ │ ├── angular-locale_en-nr.js
│ │ │ ├── angular-locale_en-nu.js
│ │ │ ├── angular-locale_en-nz.js
│ │ │ ├── angular-locale_en-pg.js
│ │ │ ├── angular-locale_en-ph.js
│ │ │ ├── angular-locale_en-pk.js
│ │ │ ├── angular-locale_en-pn.js
│ │ │ ├── angular-locale_en-pr.js
│ │ │ ├── angular-locale_en-pw.js
│ │ │ ├── angular-locale_en-rw.js
│ │ │ ├── angular-locale_en-sb.js
│ │ │ ├── angular-locale_en-sc.js
│ │ │ ├── angular-locale_en-sd.js
│ │ │ ├── angular-locale_en-sg.js
│ │ │ ├── angular-locale_en-sh.js
│ │ │ ├── angular-locale_en-sl.js
│ │ │ ├── angular-locale_en-ss.js
│ │ │ ├── angular-locale_en-sx.js
│ │ │ ├── angular-locale_en-sz.js
│ │ │ ├── angular-locale_en-tc.js
│ │ │ ├── angular-locale_en-tk.js
│ │ │ ├── angular-locale_en-to.js
│ │ │ ├── angular-locale_en-tt.js
│ │ │ ├── angular-locale_en-tv.js
│ │ │ ├── angular-locale_en-tz.js
│ │ │ ├── angular-locale_en-ug.js
│ │ │ ├── angular-locale_en-um.js
│ │ │ ├── angular-locale_en-us.js
│ │ │ ├── angular-locale_en-vc.js
│ │ │ ├── angular-locale_en-vg.js
│ │ │ ├── angular-locale_en-vi.js
│ │ │ ├── angular-locale_en-vu.js
│ │ │ ├── angular-locale_en-ws.js
│ │ │ ├── angular-locale_en-za.js
│ │ │ ├── angular-locale_en-zm.js
│ │ │ ├── angular-locale_en-zw.js
│ │ │ ├── angular-locale_en.js
│ │ │ ├── angular-locale_eo-001.js
│ │ │ ├── angular-locale_eo.js
│ │ │ ├── angular-locale_es-419.js
│ │ │ ├── angular-locale_es-ar.js
│ │ │ ├── angular-locale_es-bo.js
│ │ │ ├── angular-locale_es-cl.js
│ │ │ ├── angular-locale_es-co.js
│ │ │ ├── angular-locale_es-cr.js
│ │ │ ├── angular-locale_es-cu.js
│ │ │ ├── angular-locale_es-do.js
│ │ │ ├── angular-locale_es-ea.js
│ │ │ ├── angular-locale_es-ec.js
│ │ │ ├── angular-locale_es-es.js
│ │ │ ├── angular-locale_es-gq.js
│ │ │ ├── angular-locale_es-gt.js
│ │ │ ├── angular-locale_es-hn.js
│ │ │ ├── angular-locale_es-ic.js
│ │ │ ├── angular-locale_es-mx.js
│ │ │ ├── angular-locale_es-ni.js
│ │ │ ├── angular-locale_es-pa.js
│ │ │ ├── angular-locale_es-pe.js
│ │ │ ├── angular-locale_es-ph.js
│ │ │ ├── angular-locale_es-pr.js
│ │ │ ├── angular-locale_es-py.js
│ │ │ ├── angular-locale_es-sv.js
│ │ │ ├── angular-locale_es-us.js
│ │ │ ├── angular-locale_es-uy.js
│ │ │ ├── angular-locale_es-ve.js
│ │ │ ├── angular-locale_es.js
│ │ │ ├── angular-locale_et-ee.js
│ │ │ ├── angular-locale_et.js
│ │ │ ├── angular-locale_eu-es.js
│ │ │ ├── angular-locale_eu.js
│ │ │ ├── angular-locale_ewo-cm.js
│ │ │ ├── angular-locale_ewo.js
│ │ │ ├── angular-locale_fa-af.js
│ │ │ ├── angular-locale_fa-ir.js
│ │ │ ├── angular-locale_fa.js
│ │ │ ├── angular-locale_ff-cm.js
│ │ │ ├── angular-locale_ff-gn.js
│ │ │ ├── angular-locale_ff-mr.js
│ │ │ ├── angular-locale_ff-sn.js
│ │ │ ├── angular-locale_ff.js
│ │ │ ├── angular-locale_fi-fi.js
│ │ │ ├── angular-locale_fi.js
│ │ │ ├── angular-locale_fil-ph.js
│ │ │ ├── angular-locale_fil.js
│ │ │ ├── angular-locale_fo-fo.js
│ │ │ ├── angular-locale_fo.js
│ │ │ ├── angular-locale_fr-be.js
│ │ │ ├── angular-locale_fr-bf.js
│ │ │ ├── angular-locale_fr-bi.js
│ │ │ ├── angular-locale_fr-bj.js
│ │ │ ├── angular-locale_fr-bl.js
│ │ │ ├── angular-locale_fr-ca.js
│ │ │ ├── angular-locale_fr-cd.js
│ │ │ ├── angular-locale_fr-cf.js
│ │ │ ├── angular-locale_fr-cg.js
│ │ │ ├── angular-locale_fr-ch.js
│ │ │ ├── angular-locale_fr-ci.js
│ │ │ ├── angular-locale_fr-cm.js
│ │ │ ├── angular-locale_fr-dj.js
│ │ │ ├── angular-locale_fr-dz.js
│ │ │ ├── angular-locale_fr-fr.js
│ │ │ ├── angular-locale_fr-ga.js
│ │ │ ├── angular-locale_fr-gf.js
│ │ │ ├── angular-locale_fr-gn.js
│ │ │ ├── angular-locale_fr-gp.js
│ │ │ ├── angular-locale_fr-gq.js
│ │ │ ├── angular-locale_fr-ht.js
│ │ │ ├── angular-locale_fr-km.js
│ │ │ ├── angular-locale_fr-lu.js
│ │ │ ├── angular-locale_fr-ma.js
│ │ │ ├── angular-locale_fr-mc.js
│ │ │ ├── angular-locale_fr-mf.js
│ │ │ ├── angular-locale_fr-mg.js
│ │ │ ├── angular-locale_fr-ml.js
│ │ │ ├── angular-locale_fr-mq.js
│ │ │ ├── angular-locale_fr-mr.js
│ │ │ ├── angular-locale_fr-mu.js
│ │ │ ├── angular-locale_fr-nc.js
│ │ │ ├── angular-locale_fr-ne.js
│ │ │ ├── angular-locale_fr-pf.js
│ │ │ ├── angular-locale_fr-pm.js
│ │ │ ├── angular-locale_fr-re.js
│ │ │ ├── angular-locale_fr-rw.js
│ │ │ ├── angular-locale_fr-sc.js
│ │ │ ├── angular-locale_fr-sn.js
│ │ │ ├── angular-locale_fr-sy.js
│ │ │ ├── angular-locale_fr-td.js
│ │ │ ├── angular-locale_fr-tg.js
│ │ │ ├── angular-locale_fr-tn.js
│ │ │ ├── angular-locale_fr-vu.js
│ │ │ ├── angular-locale_fr-wf.js
│ │ │ ├── angular-locale_fr-yt.js
│ │ │ ├── angular-locale_fr.js
│ │ │ ├── angular-locale_fur-it.js
│ │ │ ├── angular-locale_fur.js
│ │ │ ├── angular-locale_fy-nl.js
│ │ │ ├── angular-locale_fy.js
│ │ │ ├── angular-locale_ga-ie.js
│ │ │ ├── angular-locale_ga.js
│ │ │ ├── angular-locale_gd-gb.js
│ │ │ ├── angular-locale_gd.js
│ │ │ ├── angular-locale_gl-es.js
│ │ │ ├── angular-locale_gl.js
│ │ │ ├── angular-locale_gsw-ch.js
│ │ │ ├── angular-locale_gsw-fr.js
│ │ │ ├── angular-locale_gsw-li.js
│ │ │ ├── angular-locale_gsw.js
│ │ │ ├── angular-locale_gu-in.js
│ │ │ ├── angular-locale_gu.js
│ │ │ ├── angular-locale_guz-ke.js
│ │ │ ├── angular-locale_guz.js
│ │ │ ├── angular-locale_gv-im.js
│ │ │ ├── angular-locale_gv.js
│ │ │ ├── angular-locale_ha-latn-gh.js
│ │ │ ├── angular-locale_ha-latn-ne.js
│ │ │ ├── angular-locale_ha-latn-ng.js
│ │ │ ├── angular-locale_ha-latn.js
│ │ │ ├── angular-locale_ha.js
│ │ │ ├── angular-locale_haw-us.js
│ │ │ ├── angular-locale_haw.js
│ │ │ ├── angular-locale_he-il.js
│ │ │ ├── angular-locale_he.js
│ │ │ ├── angular-locale_hi-in.js
│ │ │ ├── angular-locale_hi.js
│ │ │ ├── angular-locale_hr-ba.js
│ │ │ ├── angular-locale_hr-hr.js
│ │ │ ├── angular-locale_hr.js
│ │ │ ├── angular-locale_hsb-de.js
│ │ │ ├── angular-locale_hsb.js
│ │ │ ├── angular-locale_hu-hu.js
│ │ │ ├── angular-locale_hu.js
│ │ │ ├── angular-locale_hy-am.js
│ │ │ ├── angular-locale_hy.js
│ │ │ ├── angular-locale_ia-fr.js
│ │ │ ├── angular-locale_ia.js
│ │ │ ├── angular-locale_id-id.js
│ │ │ ├── angular-locale_id.js
│ │ │ ├── angular-locale_ig-ng.js
│ │ │ ├── angular-locale_ig.js
│ │ │ ├── angular-locale_ii-cn.js
│ │ │ ├── angular-locale_ii.js
│ │ │ ├── angular-locale_in.js
│ │ │ ├── angular-locale_is-is.js
│ │ │ ├── angular-locale_is.js
│ │ │ ├── angular-locale_it-ch.js
│ │ │ ├── angular-locale_it-it.js
│ │ │ ├── angular-locale_it-sm.js
│ │ │ ├── angular-locale_it.js
│ │ │ ├── angular-locale_iw.js
│ │ │ ├── angular-locale_ja-jp.js
│ │ │ ├── angular-locale_ja.js
│ │ │ ├── angular-locale_jgo-cm.js
│ │ │ ├── angular-locale_jgo.js
│ │ │ ├── angular-locale_jmc-tz.js
│ │ │ ├── angular-locale_jmc.js
│ │ │ ├── angular-locale_ka-ge.js
│ │ │ ├── angular-locale_ka.js
│ │ │ ├── angular-locale_kab-dz.js
│ │ │ ├── angular-locale_kab.js
│ │ │ ├── angular-locale_kam-ke.js
│ │ │ ├── angular-locale_kam.js
│ │ │ ├── angular-locale_kde-tz.js
│ │ │ ├── angular-locale_kde.js
│ │ │ ├── angular-locale_kea-cv.js
│ │ │ ├── angular-locale_kea.js
│ │ │ ├── angular-locale_khq-ml.js
│ │ │ ├── angular-locale_khq.js
│ │ │ ├── angular-locale_ki-ke.js
│ │ │ ├── angular-locale_ki.js
│ │ │ ├── angular-locale_kk-cyrl-kz.js
│ │ │ ├── angular-locale_kk-cyrl.js
│ │ │ ├── angular-locale_kk.js
│ │ │ ├── angular-locale_kkj-cm.js
│ │ │ ├── angular-locale_kkj.js
│ │ │ ├── angular-locale_kl-gl.js
│ │ │ ├── angular-locale_kl.js
│ │ │ ├── angular-locale_kln-ke.js
│ │ │ ├── angular-locale_kln.js
│ │ │ ├── angular-locale_km-kh.js
│ │ │ ├── angular-locale_km.js
│ │ │ ├── angular-locale_kn-in.js
│ │ │ ├── angular-locale_kn.js
│ │ │ ├── angular-locale_ko-kp.js
│ │ │ ├── angular-locale_ko-kr.js
│ │ │ ├── angular-locale_ko.js
│ │ │ ├── angular-locale_kok-in.js
│ │ │ ├── angular-locale_kok.js
│ │ │ ├── angular-locale_ks-arab-in.js
│ │ │ ├── angular-locale_ks-arab.js
│ │ │ ├── angular-locale_ks.js
│ │ │ ├── angular-locale_ksb-tz.js
│ │ │ ├── angular-locale_ksb.js
│ │ │ ├── angular-locale_ksf-cm.js
│ │ │ ├── angular-locale_ksf.js
│ │ │ ├── angular-locale_ksh-de.js
│ │ │ ├── angular-locale_ksh.js
│ │ │ ├── angular-locale_kw-gb.js
│ │ │ ├── angular-locale_kw.js
│ │ │ ├── angular-locale_ky-cyrl-kg.js
│ │ │ ├── angular-locale_ky-cyrl.js
│ │ │ ├── angular-locale_ky.js
│ │ │ ├── angular-locale_lag-tz.js
│ │ │ ├── angular-locale_lag.js
│ │ │ ├── angular-locale_lb-lu.js
│ │ │ ├── angular-locale_lb.js
│ │ │ ├── angular-locale_lg-ug.js
│ │ │ ├── angular-locale_lg.js
│ │ │ ├── angular-locale_lkt-us.js
│ │ │ ├── angular-locale_lkt.js
│ │ │ ├── angular-locale_ln-ao.js
│ │ │ ├── angular-locale_ln-cd.js
│ │ │ ├── angular-locale_ln-cf.js
│ │ │ ├── angular-locale_ln-cg.js
│ │ │ ├── angular-locale_ln.js
│ │ │ ├── angular-locale_lo-la.js
│ │ │ ├── angular-locale_lo.js
│ │ │ ├── angular-locale_lt-lt.js
│ │ │ ├── angular-locale_lt.js
│ │ │ ├── angular-locale_lu-cd.js
│ │ │ ├── angular-locale_lu.js
│ │ │ ├── angular-locale_luo-ke.js
│ │ │ ├── angular-locale_luo.js
│ │ │ ├── angular-locale_luy-ke.js
│ │ │ ├── angular-locale_luy.js
│ │ │ ├── angular-locale_lv-lv.js
│ │ │ ├── angular-locale_lv.js
│ │ │ ├── angular-locale_mas-ke.js
│ │ │ ├── angular-locale_mas-tz.js
│ │ │ ├── angular-locale_mas.js
│ │ │ ├── angular-locale_mer-ke.js
│ │ │ ├── angular-locale_mer.js
│ │ │ ├── angular-locale_mfe-mu.js
│ │ │ ├── angular-locale_mfe.js
│ │ │ ├── angular-locale_mg-mg.js
│ │ │ ├── angular-locale_mg.js
│ │ │ ├── angular-locale_mgh-mz.js
│ │ │ ├── angular-locale_mgh.js
│ │ │ ├── angular-locale_mgo-cm.js
│ │ │ ├── angular-locale_mgo.js
│ │ │ ├── angular-locale_mk-mk.js
│ │ │ ├── angular-locale_mk.js
│ │ │ ├── angular-locale_ml-in.js
│ │ │ ├── angular-locale_ml.js
│ │ │ ├── angular-locale_mn-cyrl-mn.js
│ │ │ ├── angular-locale_mn-cyrl.js
│ │ │ ├── angular-locale_mn.js
│ │ │ ├── angular-locale_mr-in.js
│ │ │ ├── angular-locale_mr.js
│ │ │ ├── angular-locale_ms-bn.js
│ │ │ ├── angular-locale_ms-latn-bn.js
│ │ │ ├── angular-locale_ms-latn-my.js
│ │ │ ├── angular-locale_ms-latn-sg.js
│ │ │ ├── angular-locale_ms-latn.js
│ │ │ ├── angular-locale_ms-my.js
│ │ │ ├── angular-locale_ms.js
│ │ │ ├── angular-locale_mt-mt.js
│ │ │ ├── angular-locale_mt.js
│ │ │ ├── angular-locale_mua-cm.js
│ │ │ ├── angular-locale_mua.js
│ │ │ ├── angular-locale_my-mm.js
│ │ │ ├── angular-locale_my.js
│ │ │ ├── angular-locale_naq-na.js
│ │ │ ├── angular-locale_naq.js
│ │ │ ├── angular-locale_nb-no.js
│ │ │ ├── angular-locale_nb-sj.js
│ │ │ ├── angular-locale_nb.js
│ │ │ ├── angular-locale_nd-zw.js
│ │ │ ├── angular-locale_nd.js
│ │ │ ├── angular-locale_ne-in.js
│ │ │ ├── angular-locale_ne-np.js
│ │ │ ├── angular-locale_ne.js
│ │ │ ├── angular-locale_nl-aw.js
│ │ │ ├── angular-locale_nl-be.js
│ │ │ ├── angular-locale_nl-bq.js
│ │ │ ├── angular-locale_nl-cw.js
│ │ │ ├── angular-locale_nl-nl.js
│ │ │ ├── angular-locale_nl-sr.js
│ │ │ ├── angular-locale_nl-sx.js
│ │ │ ├── angular-locale_nl.js
│ │ │ ├── angular-locale_nmg-cm.js
│ │ │ ├── angular-locale_nmg.js
│ │ │ ├── angular-locale_nn-no.js
│ │ │ ├── angular-locale_nn.js
│ │ │ ├── angular-locale_nnh-cm.js
│ │ │ ├── angular-locale_nnh.js
│ │ │ ├── angular-locale_no-no.js
│ │ │ ├── angular-locale_no.js
│ │ │ ├── angular-locale_nr-za.js
│ │ │ ├── angular-locale_nr.js
│ │ │ ├── angular-locale_nso-za.js
│ │ │ ├── angular-locale_nso.js
│ │ │ ├── angular-locale_nus-sd.js
│ │ │ ├── angular-locale_nus.js
│ │ │ ├── angular-locale_nyn-ug.js
│ │ │ ├── angular-locale_nyn.js
│ │ │ ├── angular-locale_om-et.js
│ │ │ ├── angular-locale_om-ke.js
│ │ │ ├── angular-locale_om.js
│ │ │ ├── angular-locale_or-in.js
│ │ │ ├── angular-locale_or.js
│ │ │ ├── angular-locale_os-ge.js
│ │ │ ├── angular-locale_os-ru.js
│ │ │ ├── angular-locale_os.js
│ │ │ ├── angular-locale_pa-arab-pk.js
│ │ │ ├── angular-locale_pa-arab.js
│ │ │ ├── angular-locale_pa-guru-in.js
│ │ │ ├── angular-locale_pa-guru.js
│ │ │ ├── angular-locale_pa.js
│ │ │ ├── angular-locale_pl-pl.js
│ │ │ ├── angular-locale_pl.js
│ │ │ ├── angular-locale_ps-af.js
│ │ │ ├── angular-locale_ps.js
│ │ │ ├── angular-locale_pt-ao.js
│ │ │ ├── angular-locale_pt-br.js
│ │ │ ├── angular-locale_pt-cv.js
│ │ │ ├── angular-locale_pt-gw.js
│ │ │ ├── angular-locale_pt-mo.js
│ │ │ ├── angular-locale_pt-mz.js
│ │ │ ├── angular-locale_pt-pt.js
│ │ │ ├── angular-locale_pt-st.js
│ │ │ ├── angular-locale_pt-tl.js
│ │ │ ├── angular-locale_pt.js
│ │ │ ├── angular-locale_qu-bo.js
│ │ │ ├── angular-locale_qu-ec.js
│ │ │ ├── angular-locale_qu-pe.js
│ │ │ ├── angular-locale_qu.js
│ │ │ ├── angular-locale_rm-ch.js
│ │ │ ├── angular-locale_rm.js
│ │ │ ├── angular-locale_rn-bi.js
│ │ │ ├── angular-locale_rn.js
│ │ │ ├── angular-locale_ro-md.js
│ │ │ ├── angular-locale_ro-ro.js
│ │ │ ├── angular-locale_ro.js
│ │ │ ├── angular-locale_rof-tz.js
│ │ │ ├── angular-locale_rof.js
│ │ │ ├── angular-locale_ru-by.js
│ │ │ ├── angular-locale_ru-kg.js
│ │ │ ├── angular-locale_ru-kz.js
│ │ │ ├── angular-locale_ru-md.js
│ │ │ ├── angular-locale_ru-ru.js
│ │ │ ├── angular-locale_ru-ua.js
│ │ │ ├── angular-locale_ru.js
│ │ │ ├── angular-locale_rw-rw.js
│ │ │ ├── angular-locale_rw.js
│ │ │ ├── angular-locale_rwk-tz.js
│ │ │ ├── angular-locale_rwk.js
│ │ │ ├── angular-locale_sah-ru.js
│ │ │ ├── angular-locale_sah.js
│ │ │ ├── angular-locale_saq-ke.js
│ │ │ ├── angular-locale_saq.js
│ │ │ ├── angular-locale_sbp-tz.js
│ │ │ ├── angular-locale_sbp.js
│ │ │ ├── angular-locale_se-fi.js
│ │ │ ├── angular-locale_se-no.js
│ │ │ ├── angular-locale_se-se.js
│ │ │ ├── angular-locale_se.js
│ │ │ ├── angular-locale_seh-mz.js
│ │ │ ├── angular-locale_seh.js
│ │ │ ├── angular-locale_ses-ml.js
│ │ │ ├── angular-locale_ses.js
│ │ │ ├── angular-locale_sg-cf.js
│ │ │ ├── angular-locale_sg.js
│ │ │ ├── angular-locale_shi-latn-ma.js
│ │ │ ├── angular-locale_shi-latn.js
│ │ │ ├── angular-locale_shi-tfng-ma.js
│ │ │ ├── angular-locale_shi-tfng.js
│ │ │ ├── angular-locale_shi.js
│ │ │ ├── angular-locale_si-lk.js
│ │ │ ├── angular-locale_si.js
│ │ │ ├── angular-locale_sk-sk.js
│ │ │ ├── angular-locale_sk.js
│ │ │ ├── angular-locale_sl-si.js
│ │ │ ├── angular-locale_sl.js
│ │ │ ├── angular-locale_smn-fi.js
│ │ │ ├── angular-locale_smn.js
│ │ │ ├── angular-locale_sn-zw.js
│ │ │ ├── angular-locale_sn.js
│ │ │ ├── angular-locale_so-dj.js
│ │ │ ├── angular-locale_so-et.js
│ │ │ ├── angular-locale_so-ke.js
│ │ │ ├── angular-locale_so-so.js
│ │ │ ├── angular-locale_so.js
│ │ │ ├── angular-locale_sq-al.js
│ │ │ ├── angular-locale_sq-mk.js
│ │ │ ├── angular-locale_sq-xk.js
│ │ │ ├── angular-locale_sq.js
│ │ │ ├── angular-locale_sr-cyrl-ba.js
│ │ │ ├── angular-locale_sr-cyrl-me.js
│ │ │ ├── angular-locale_sr-cyrl-rs.js
│ │ │ ├── angular-locale_sr-cyrl-xk.js
│ │ │ ├── angular-locale_sr-cyrl.js
│ │ │ ├── angular-locale_sr-latn-ba.js
│ │ │ ├── angular-locale_sr-latn-me.js
│ │ │ ├── angular-locale_sr-latn-rs.js
│ │ │ ├── angular-locale_sr-latn-xk.js
│ │ │ ├── angular-locale_sr-latn.js
│ │ │ ├── angular-locale_sr.js
│ │ │ ├── angular-locale_ss-sz.js
│ │ │ ├── angular-locale_ss-za.js
│ │ │ ├── angular-locale_ss.js
│ │ │ ├── angular-locale_ssy-er.js
│ │ │ ├── angular-locale_ssy.js
│ │ │ ├── angular-locale_st-ls.js
│ │ │ ├── angular-locale_st-za.js
│ │ │ ├── angular-locale_st.js
│ │ │ ├── angular-locale_sv-ax.js
│ │ │ ├── angular-locale_sv-fi.js
│ │ │ ├── angular-locale_sv-se.js
│ │ │ ├── angular-locale_sv.js
│ │ │ ├── angular-locale_sw-ke.js
│ │ │ ├── angular-locale_sw-tz.js
│ │ │ ├── angular-locale_sw-ug.js
│ │ │ ├── angular-locale_sw.js
│ │ │ ├── angular-locale_swc-cd.js
│ │ │ ├── angular-locale_swc.js
│ │ │ ├── angular-locale_ta-in.js
│ │ │ ├── angular-locale_ta-lk.js
│ │ │ ├── angular-locale_ta-my.js
│ │ │ ├── angular-locale_ta-sg.js
│ │ │ ├── angular-locale_ta.js
│ │ │ ├── angular-locale_te-in.js
│ │ │ ├── angular-locale_te.js
│ │ │ ├── angular-locale_teo-ke.js
│ │ │ ├── angular-locale_teo-ug.js
│ │ │ ├── angular-locale_teo.js
│ │ │ ├── angular-locale_tg-cyrl-tj.js
│ │ │ ├── angular-locale_tg-cyrl.js
│ │ │ ├── angular-locale_tg.js
│ │ │ ├── angular-locale_th-th.js
│ │ │ ├── angular-locale_th.js
│ │ │ ├── angular-locale_ti-er.js
│ │ │ ├── angular-locale_ti-et.js
│ │ │ ├── angular-locale_ti.js
│ │ │ ├── angular-locale_tig-er.js
│ │ │ ├── angular-locale_tig.js
│ │ │ ├── angular-locale_tl.js
│ │ │ ├── angular-locale_tn-bw.js
│ │ │ ├── angular-locale_tn-za.js
│ │ │ ├── angular-locale_tn.js
│ │ │ ├── angular-locale_to-to.js
│ │ │ ├── angular-locale_to.js
│ │ │ ├── angular-locale_tr-cy.js
│ │ │ ├── angular-locale_tr-tr.js
│ │ │ ├── angular-locale_tr.js
│ │ │ ├── angular-locale_ts-za.js
│ │ │ ├── angular-locale_ts.js
│ │ │ ├── angular-locale_twq-ne.js
│ │ │ ├── angular-locale_twq.js
│ │ │ ├── angular-locale_tzm-latn-ma.js
│ │ │ ├── angular-locale_tzm-latn.js
│ │ │ ├── angular-locale_tzm.js
│ │ │ ├── angular-locale_ug-arab-cn.js
│ │ │ ├── angular-locale_ug-arab.js
│ │ │ ├── angular-locale_ug.js
│ │ │ ├── angular-locale_uk-ua.js
│ │ │ ├── angular-locale_uk.js
│ │ │ ├── angular-locale_ur-in.js
│ │ │ ├── angular-locale_ur-pk.js
│ │ │ ├── angular-locale_ur.js
│ │ │ ├── angular-locale_uz-arab-af.js
│ │ │ ├── angular-locale_uz-arab.js
│ │ │ ├── angular-locale_uz-cyrl-uz.js
│ │ │ ├── angular-locale_uz-cyrl.js
│ │ │ ├── angular-locale_uz-latn-uz.js
│ │ │ ├── angular-locale_uz-latn.js
│ │ │ ├── angular-locale_uz.js
│ │ │ ├── angular-locale_vai-latn-lr.js
│ │ │ ├── angular-locale_vai-latn.js
│ │ │ ├── angular-locale_vai-vaii-lr.js
│ │ │ ├── angular-locale_vai-vaii.js
│ │ │ ├── angular-locale_vai.js
│ │ │ ├── angular-locale_ve-za.js
│ │ │ ├── angular-locale_ve.js
│ │ │ ├── angular-locale_vi-vn.js
│ │ │ ├── angular-locale_vi.js
│ │ │ ├── angular-locale_vo-001.js
│ │ │ ├── angular-locale_vo.js
│ │ │ ├── angular-locale_vun-tz.js
│ │ │ ├── angular-locale_vun.js
│ │ │ ├── angular-locale_wae-ch.js
│ │ │ ├── angular-locale_wae.js
│ │ │ ├── angular-locale_wal-et.js
│ │ │ ├── angular-locale_wal.js
│ │ │ ├── angular-locale_xh-za.js
│ │ │ ├── angular-locale_xh.js
│ │ │ ├── angular-locale_xog-ug.js
│ │ │ ├── angular-locale_xog.js
│ │ │ ├── angular-locale_yav-cm.js
│ │ │ ├── angular-locale_yav.js
│ │ │ ├── angular-locale_yi-001.js
│ │ │ ├── angular-locale_yi.js
│ │ │ ├── angular-locale_yo-bj.js
│ │ │ ├── angular-locale_yo-ng.js
│ │ │ ├── angular-locale_yo.js
│ │ │ ├── angular-locale_zgh-ma.js
│ │ │ ├── angular-locale_zgh.js
│ │ │ ├── angular-locale_zh-cn.js
│ │ │ ├── angular-locale_zh-hans-cn.js
│ │ │ ├── angular-locale_zh-hans-hk.js
│ │ │ ├── angular-locale_zh-hans-mo.js
│ │ │ ├── angular-locale_zh-hans-sg.js
│ │ │ ├── angular-locale_zh-hans.js
│ │ │ ├── angular-locale_zh-hant-hk.js
│ │ │ ├── angular-locale_zh-hant-mo.js
│ │ │ ├── angular-locale_zh-hant-tw.js
│ │ │ ├── angular-locale_zh-hant.js
│ │ │ ├── angular-locale_zh-hk.js
│ │ │ ├── angular-locale_zh-tw.js
│ │ │ ├── angular-locale_zh.js
│ │ │ ├── angular-locale_zu-za.js
│ │ │ ├── angular-locale_zu.js
│ │ │ ├── bower.json
│ │ │ └── package.json
│ │ ├── angular-messages/
│ │ │ ├── .bower.json
│ │ │ ├── README.md
│ │ │ ├── angular-messages.js
│ │ │ ├── bower.json
│ │ │ └── package.json
│ │ ├── angular-mocks/
│ │ │ ├── .bower.json
│ │ │ ├── README.md
│ │ │ ├── angular-mocks.js
│ │ │ ├── bower.json
│ │ │ └── package.json
│ │ ├── angular-touch/
│ │ │ ├── .bower.json
│ │ │ ├── README.md
│ │ │ ├── angular-touch.js
│ │ │ ├── bower.json
│ │ │ └── package.json
│ │ ├── angular-ui-router/
│ │ │ ├── .bower.json
│ │ │ ├── CHANGELOG.md
│ │ │ ├── CONTRIBUTING.md
│ │ │ ├── LICENSE
│ │ │ ├── README.md
│ │ │ ├── api/
│ │ │ │ └── angular-ui-router.d.ts
│ │ │ ├── bower.json
│ │ │ ├── release/
│ │ │ │ └── angular-ui-router.js
│ │ │ └── src/
│ │ │ ├── common.js
│ │ │ ├── resolve.js
│ │ │ ├── state.js
│ │ │ ├── stateDirectives.js
│ │ │ ├── stateFilters.js
│ │ │ ├── templateFactory.js
│ │ │ ├── urlMatcherFactory.js
│ │ │ ├── urlRouter.js
│ │ │ ├── view.js
│ │ │ ├── viewDirective.js
│ │ │ └── viewScroll.js
│ │ ├── assert/
│ │ │ ├── .bower.json
│ │ │ ├── API.md
│ │ │ ├── README.md
│ │ │ ├── gulpfile.js
│ │ │ ├── karma.conf.js
│ │ │ ├── npm-shrinkwrap.json
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ └── assert.js
│ │ │ ├── test/
│ │ │ │ └── assert.spec.js
│ │ │ └── test-main.js
│ │ ├── es6-module-loader/
│ │ │ ├── .bower.json
│ │ │ ├── .gitignore
│ │ │ ├── .jshintrc
│ │ │ ├── Gruntfile.js
│ │ │ ├── LICENSE-MIT
│ │ │ ├── README.md
│ │ │ ├── bower.json
│ │ │ ├── dist/
│ │ │ │ ├── es6-module-loader-sans-promises.js
│ │ │ │ ├── es6-module-loader-sans-promises.src.js
│ │ │ │ ├── es6-module-loader.js
│ │ │ │ └── es6-module-loader.src.js
│ │ │ └── src/
│ │ │ ├── loader.js
│ │ │ ├── polyfill-wrapper-end.js
│ │ │ ├── polyfill-wrapper-start.js
│ │ │ └── system.js
│ │ ├── lodash/
│ │ │ ├── .bower.json
│ │ │ ├── LICENSE.txt
│ │ │ ├── bower.json
│ │ │ └── dist/
│ │ │ ├── lodash.compat.js
│ │ │ ├── lodash.js
│ │ │ └── lodash.underscore.js
│ │ ├── normalize-css/
│ │ │ ├── .bower.json
│ │ │ ├── LICENSE.md
│ │ │ ├── README.md
│ │ │ ├── bower.json
│ │ │ └── normalize.css
│ │ ├── plugin-json/
│ │ │ ├── .bower.json
│ │ │ ├── LICENSE
│ │ │ ├── README.md
│ │ │ ├── json.js
│ │ │ ├── json.json
│ │ │ ├── package.json
│ │ │ └── test.html
│ │ ├── plugin-text/
│ │ │ ├── .bower.json
│ │ │ ├── LICENSE
│ │ │ ├── README.md
│ │ │ ├── package.json
│ │ │ ├── test.html
│ │ │ ├── text.js
│ │ │ └── text.txt
│ │ ├── system.js/
│ │ │ ├── .bower.json
│ │ │ ├── .gitignore
│ │ │ ├── LICENSE
│ │ │ ├── README.md
│ │ │ ├── bower.json
│ │ │ ├── dist/
│ │ │ │ ├── system-csp.js
│ │ │ │ ├── system-csp.src.js
│ │ │ │ ├── system.js
│ │ │ │ └── system.src.js
│ │ │ └── lib/
│ │ │ ├── banner.js
│ │ │ ├── extension-amd.js
│ │ │ ├── extension-bundles.js
│ │ │ ├── extension-cjs.js
│ │ │ ├── extension-core.js
│ │ │ ├── extension-depCache.js
│ │ │ ├── extension-global.js
│ │ │ ├── extension-map.js
│ │ │ ├── extension-meta.js
│ │ │ ├── extension-plugins.js
│ │ │ ├── extension-register.js
│ │ │ ├── extension-scriptLoader.js
│ │ │ ├── extension-versions.js
│ │ │ ├── polyfill-wrapper-end.js
│ │ │ └── polyfill-wrapper-start.js
│ │ ├── traceur/
│ │ │ ├── .bower.json
│ │ │ ├── README.md
│ │ │ ├── bower.json
│ │ │ └── traceur.js
│ │ └── traceur-runtime/
│ │ ├── .bower.json
│ │ ├── README.md
│ │ ├── bower.json
│ │ └── traceur-runtime.js
│ ├── index.html
│ └── loader.config.js
├── config/
│ ├── file-name-to-module-name.js
│ ├── karma-spec-loader.config.js
│ ├── karma.config.js
│ ├── protractor.config.js
│ ├── traceur-runtime-patch.js
│ └── traceur.config.js
├── npm-shrinkwrap.json
├── package.json
└── script/
├── build
├── css
├── e2etest
├── ensure-no-ddescribe
├── lib/
│ ├── build-production.js
│ ├── css.js
│ ├── precompile.js
│ ├── server.js
│ └── watch.js
├── precompile
├── setup
├── start
└── test
================================================
FILE CONTENTS
================================================
================================================
FILE: .bowerrc
================================================
{
"directory": "client/components"
}
================================================
FILE: .editorconfig
================================================
root = true
[*]
indent_style = space
indent_size = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
================================================
FILE: .gitignore
================================================
.DS_Store
node_modules/*
dist/*
e2e-dist/*
Session.vim
npm-debug.log
client/main.css
client/app-compiled
================================================
FILE: .jshintignore
================================================
node_modules
client/components
client/vendor
client/app-compiled
dist
e2e-dist
================================================
FILE: .jshintrc
================================================
{
"bitwise" : false,
"curly" : false,
"eqeqeq" : true,
"forin" : true,
"immed" : true,
"latedef" : true,
"newcap" : true,
"noarg" : true,
"noempty" : true,
"nonew" : true,
"plusplus" : false,
"quotmark" : "single",
"regexp" : false,
"undef" : true,
"unused" : true,
"strict" : false,
"camelcase" : false,
"trailing" : true,
"indent" : 2,
"maxlen" : 120,
"maxdepth" : 4,
"maxstatements" : 30,
"maxcomplexity" : 5,
"asi" : false,
"boss" : true,
"debug" : true,
"eqnull" : true,
"esnext" : true,
"evil" : true,
"expr" : true,
"funcscope" : false,
"globalstrict" : false,
"iterator" : false,
"lastsemic" : true,
"laxbreak" : false,
"laxcomma" : false,
"loopfunc" : false,
"multistr" : false,
"onecase" : false,
"proto" : false,
"regexdash" : false,
"scripturl" : false,
"smarttabs" : false,
"shadow" : false,
"sub" : false,
"supernew" : false,
"validthis" : false,
"browser" : true,
"couch" : false,
"devel" : true,
"dojo" : false,
"jquery" : true,
"mootools" : false,
"node" : true,
"nonstandard" : false,
"prototypejs" : false,
"rhino" : false,
"wsh" : false,
"nomen" : false,
"onevar" : false,
"passfail" : false,
"white" : false,
"maxerr" : 100,
"globals": {
"_": true,
"queryCss": true,
"SVGInjector": true
},
"predef" : [
"__dirname",
"System",
"element",
"browser",
"require",
"jasmine",
"protractor",
"ptor",
"describe",
"ddescribe",
"xdescribe",
"it",
"iit",
"angular",
"inject",
"xit",
"beforeEach",
"afterEach",
"expect",
"input",
"pause",
"spyOn",
"runs",
"waits",
"waitsFor",
"Benchmark",
"Raphael",
"Backbone",
"Modernizr",
"Handlebars",
"Ext",
"_gaq",
"module",
"exports",
"define",
"$",
"jQuery",
"grunt",
"phantom",
"WebPage",
"by"
]
}
================================================
FILE: README.md
================================================
ES6 + AngularJS
===============
This is a sample Angular 1.3 application that is structured using ES6 modules and adheres to the [GoCardless Angular style guide](https://github.com/gocardless/angularjs-style-guide).
## Prerequisites:
- node.js: `brew install node`
## Application Dependencies
All the dependencies required for the build system, testing and so on are managed with npm and defined in `package.json`. They can be installed with:
```
npm install
```
## Running the Application
You can run `npm start` to fire up the application on `http://localhost:3010`.
## Tests
You can use `npm test` to run JSHint, Karma Unit tests and our E2E tests.
Typically in development we run only unit tests. You can run these with Karma:
```
./node_modules/.bin/karma start
```
Karma will automatically watch the files and rerun tests when files change.
## Live Reloading
Install the [fb-flo](https://chrome.google.com/webstore/detail/fb-flo/ahkfhobdidabddlalamkkiafpipdfchp?hl=en) chrome extension.
To enable live-reloading have the developer tools open and activate fb-flo.
## Build & Deployment
Create a production optimized build using [AssetGraph Builder](https://github.com/assetgraph/assetgraph-builder):
```
DIST=./dist ./script/build
```
## Debugging Protractor (E2E) tests
### Running individual files
Serve `client/` on port `3010`
```
npm start
```
Run protractor with `--specs` option
```
HTTP_PORT=3010 ./node_modules/.bin/protractor --specs client/app/routes/mandates/show/mandates-show.e2e.js
```
### Pausing the browser
Add `browser.pause();` to your spec.
```js
it('renders index', function() {
browser.get('app/index.html');
// Use browser.pause() in your test to enter the protractor debugger from
// that point in the control flow. Does not require changes to the command line
// (no need to add 'debug').
browser.pause();
});
```
## Credits
- Build system/ES6 tooling: [Guy Bedford](https://github.com/guybedford)
================================================
FILE: bower.json
================================================
{
"name": "ES6 + AngularJS",
"version": "0.0.1-pre",
"homepage": "https://github.com/gocardless/es6-angularjs",
"authors": [
"GoCardless"
],
"private": true,
"dependencies": {
"traceur-runtime": "0.0.74",
"system.js": "~0.10.2",
"plugin-text": "git@github.com:systemjs/plugin-text.git",
"plugin-json": "git@github.com:systemjs/plugin-json.git",
"angular": "1.3.6",
"angular-i18n": "1.3.6",
"angular-animate": "1.3.6",
"angular-touch": "1.3.6",
"angular-aria": "1.3.6",
"angular-messages": "1.3.6",
"angular-mocks": "1.3.6",
"angular-ui-router": "~0.2.13",
"normalize-css": "~3.0.2",
"lodash": "~2.4.1",
"assert": "git@github.com:angular/assert.git"
},
"resolutions": {
"angular": "1.3.6"
}
}
================================================
FILE: client/404.html
================================================
<!doctype html>
<html>
<meta charset=utf-8>
<title>Oops! Page not found - ES6 + AngularJS</title>
<style>
*, :before, :after {
-moz-box-sizing: border-box;
box-sizing: border-box;
}
html, body {
height: 100%;
}
body {
margin: 0;
background: #F6F6F6;
font-family: Arial, sans-serif;
font-size: 14px;
line-height: 1.6;
color: #333;
-webkit-font-smoothing: antialiased;
}
h1 {
font-weight: normal;
font-size: 20px;
}
a {
color: #2891cd;
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
hr {
border: none;
border-top: 1px solid #ccc;
}
.center {
display: table;
table-layout: fixed;
width: 100%;
height: 100%;
}
.center__inner {
display: table-cell;
vertical-align: middle;
width: 100%;
text-align: center;
}
.sticky-footer {
display: table;
table-layout: fixed;
width: 100%;
height: 100%;
}
.sticky-footer__container {
display: table-row;
height: 100%;
}
.sticky-footer__footer {
display: table-row;
height: 50px;
background: #FFFFFF;
}
.site-footer {
font-size: 13px;
border-top: 1px solid #E4E4E4;
padding: 0 20px;
line-height: 55px;
}
.site-footer__link {
margin-right: 25px;
color: #77777F;
}
.page-container {
max-width: 320px;
margin-left: auto;
margin-right: auto;
}
</style>
<body class="sticky-footer">
<div class="sticky-footer__container">
<div class="center">
<div class="center__inner">
<div class="page-container">
<h1>Oops! This link appears broken.</h1>
<p>The page may have moved, or perhaps <br>
you mis-typed the address.</p>
</div>
</div>
</div>
</div>
<div class="sticky-footer__footer">
<div class="site-footer">
<a href="https://github.com/gocardless/es6-angularjs" class="site-footer__link">ES6 + AngularJS</a>
</div>
</div>
</body>
</html>
================================================
FILE: client/app/bootstrap.js
================================================
import angular from 'angular';
import {mainModule} from './main';
angular.element(document).ready(function() {
angular.bootstrap(document.querySelector('[data-main-app]'), [
mainModule.name
], {
strictDi: true
});
});
================================================
FILE: client/app/components/auth-required/auth-required.controller.js
================================================
import angular from 'angular';
import 'angular-ui-router';
import _ from 'lodash';
export var authRequiredControllerModule = angular.module('authRequiredControllerModule', [
'ui.router'
]).controller('AuthRequiredController', [
'$state',
function AuthRequiredController($state) {
var ctrl = this;
function isParentStateActive(parentState) {
return $state.includes(parentState);
}
_.extend(ctrl, {
isParentStateActive: isParentStateActive
});
}
]);
================================================
FILE: client/app/components/auth-required/auth-required.directive.js
================================================
import angular from 'angular';
import 'angular-ui-router';
import {authRequiredControllerModule} from './auth-required.controller';
import template from './auth-required.template.html!text';
export var authRequiredComponentModule = angular.module('authRequiredComponentModule', [
'ui.router',
authRequiredControllerModule.name,
]).directive('authRequired', [
function authRequiredDirective() {
return {
restrict: 'E',
template: template,
controller: 'AuthRequiredController',
controllerAs: 'ctrl',
bindToController: true,
scope: {}
};
}
]);
================================================
FILE: client/app/components/auth-required/auth-required.template.html
================================================
<div>
<nav>
<a ui-sref="authRequired.home.index"
ng-class="{ 'is-active': ctrl.isParentStateActive('authRequired.home') }">
<span>Home</span>
</a>
</nav>
<main>
<ui-view></ui-view>
</main>
</div>
================================================
FILE: client/app/components/site-header/site-header.directive.js
================================================
import angular from 'angular';
import template from './site-header.template.html!text';
export var siteHeaderComponentModule = angular.module('siteHeaderComponentModule', [
]).directive('siteHeader', [
function siteHeader() {
return {
restrict: 'E',
template: template,
controller: angular.noop,
controllerAs: 'ctrl',
bindToController: true,
scope: {
currentUser: '='
}
};
}
]);
================================================
FILE: client/app/components/site-header/site-header.template.html
================================================
<div>
<h1>ES6 + AngularJS</h1>
<p>User: {{ ctrl.currentUser.name }}</p>
</div>
================================================
FILE: client/app/config/main.config.js
================================================
import angular from 'angular';
import 'angular-ui-router';
import {errorsRouteModule} from 'app/routes/errors/errors.route';
export var mainConfigModule = angular.module('mainConfigModule', [
'ui.router',
errorsRouteModule.name,
]).config([
'$locationProvider', '$urlRouterProvider', '$httpProvider', '$compileProvider',
'$controllerProvider', '$rootScopeProvider',
function ($locationProvider, $urlRouterProvider, $httpProvider, $compileProvider,
$controllerProvider, $rootScopeProvider) {
$locationProvider.html5Mode(true);
$httpProvider.useApplyAsync(true);
$compileProvider.debugInfoEnabled(false);
$rootScopeProvider.digestTtl(8);
$urlRouterProvider.rule(function($injector, $location) {
var path = $location.path();
// Remove trailing slashes from path
if (path !== '/' && path.slice(-1) === '/') {
$location.replace().path(path.slice(0, -1));
}
});
$urlRouterProvider.otherwise('/404');
}
]).run([
'$rootScope',
function($rootScope) {
$rootScope.$on('$stateChangeError', function $stateChangeError(event, toState,
toParams, fromState, fromParams, error) {
console.group();
console.error('$stateChangeError', error);
console.error(error.stack);
console.info('event', event);
console.info('toState', toState);
console.info('toParams', toParams);
console.info('fromState', fromState);
console.info('fromParams', fromParams);
console.groupEnd();
});
}
]);
================================================
FILE: client/app/main.js
================================================
import angular from 'angular';
import 'angular-touch';
import 'angular-animate';
import 'angular-aria';
import 'angular-messages';
import 'angular-i18n-en-gb';
import {mainConfigModule} from 'app/config/main.config';
import {homeRouteModule} from 'app/routes/home/home.route';
export var mainModule = angular.module('mainModule', [
// ngTouch has to be BEFORE ngAria, else ng-clicks happen twice
'ngTouch',
'ngAnimate',
'ngAria',
'ngMessages',
mainConfigModule.name,
homeRouteModule.name
]).run();
================================================
FILE: client/app/routes/auth-required.route.js
================================================
import angular from 'angular';
import 'angular-ui-router';
import {currentUserModule} from 'app/services/current-user/current-user';
import {siteHeaderComponentModule} from 'app/components/site-header/site-header.directive';
import {authRequiredComponentModule} from 'app/components/auth-required/auth-required.directive';
export var authRequiredRouteModule = angular.module('authRequiredRouteModule', [
'ui.router',
currentUserModule.name,
siteHeaderComponentModule.name,
authRequiredComponentModule.name,
]).config([
'$stateProvider',
function authRequiredRoute($stateProvider) {
$stateProvider.state('authRequired', {
abstract: true,
views: {
'': {
template: '<auth-required></auth-required>'
},
'site-header': {
template: '<site-header current-user="ctrl.currentUser"></site-header>',
controllerAs: 'ctrl',
controller: [
'currentUser',
function authRequiredSiteHeaderController(currentUser) {
var ctrl = this;
ctrl.currentUser = currentUser;
}
]
}
},
resolve: {
currentUser: [
'CurrentUser',
function currentUserResolver(CurrentUser) {
return CurrentUser.get();
}
]
}
});
}
]);
================================================
FILE: client/app/routes/errors/404/errors-404.route.js
================================================
import angular from 'angular';
import 'angular-ui-router';
import template from './errors-404.template.html!text';
export var errors404RouteModule = angular.module('errors404RouteModule', [
'ui.router'
]).config([
'$stateProvider',
function usersLoginRoute($stateProvider) {
$stateProvider.state('errors.404', {
url: '/404',
template: template
});
}
]);
================================================
FILE: client/app/routes/errors/404/errors-404.template.html
================================================
<h1>Oops! This link appears broken.</h1>
<p>The page may have moved, or perhaps <br>
you mis-typed the address.</p>
================================================
FILE: client/app/routes/errors/errors.route.js
================================================
import angular from 'angular';
import 'angular-ui-router';
import {errors404RouteModule} from './404/errors-404.route';
export var errorsRouteModule = angular.module('errorsRouteModule', [
'ui.router',
errors404RouteModule.name
]).config([
'$stateProvider',
function errorsRoute($stateProvider) {
$stateProvider.state('errors', {
abstract: true,
template: '<ui-view></ui-view>'
});
}
]);
================================================
FILE: client/app/routes/home/home.route.js
================================================
import angular from 'angular';
import 'angular-ui-router';
import {homeIndexRouteModule} from './index/home-index.route';
import {authRequiredRouteModule} from 'app/routes/auth-required.route';
export var homeRouteModule = angular.module('homeRouteModule', [
'ui.router',
authRequiredRouteModule.name,
homeIndexRouteModule.name
]).config([
'$stateProvider',
function homeRoute($stateProvider) {
$stateProvider.state('authRequired.home', {
abstract: true,
template: '<ui-view></ui-view>'
});
}
]);
================================================
FILE: client/app/routes/home/index/home-index.e2e.js
================================================
describe('home index', function() {
it('has heading', function() {
browser.get('/');
expect(element(by.css('h2')).getText()).toEqual('Example');
});
});
================================================
FILE: client/app/routes/home/index/home-index.route.js
================================================
import angular from 'angular';
import 'angular-ui-router';
import {authRequiredRouteModule} from 'app/routes/auth-required.route';
import template from './home-index.template.html!text';
export var homeIndexRouteModule = angular.module('homeIndexRouteModule', [
'ui.router',
authRequiredRouteModule.name
]).config([
'$stateProvider',
function homeRoute($stateProvider) {
$stateProvider.state('authRequired.home.index', {
url: '/',
template: template
});
}
]);
================================================
FILE: client/app/routes/home/index/home-index.template.html
================================================
<div>
<h2>Example</h2>
</div>
================================================
FILE: client/app/services/current-user/current-user.js
================================================
import angular from 'angular';
export var currentUserModule = angular.module('currentUserModule', [
]).factory('CurrentUser', [
'$q',
function CurrentUser($q) {
function get() {
var deferred = $q.defer();
deferred.resolve({
name: 'GoCardless'
});
return deferred.promise;
}
return {
get: get
};
}
]);
================================================
FILE: client/app/services/current-user/current-user.spec.js
================================================
import angular from 'angular';
import 'angular-mock';
import {currentUserModule} from './current-user';
describe('CurrentUser', function() {
beforeEach(angular.mock.module(currentUserModule.name));
var CurrentUser, scope;
beforeEach(inject(function($injector) {
CurrentUser = $injector.get('CurrentUser');
scope = $injector.get('$rootScope');
}));
describe('.get', function() {
it('has a user', function() {
var user;
CurrentUser.get().then(function(data) {
user = data;
});
scope.$digest();
expect(user).toEqual({ name: 'GoCardless' });
});
});
});
================================================
FILE: client/assets/stylesheets/main.css
================================================
@import 'variables.css';
@import '../../components/normalize-css/normalize.css';
@import 'shared/base.css';
================================================
FILE: client/assets/stylesheets/shared/base.css
================================================
/* ==========================================================================
Base
========================================================================== */
/**
* A thin layer on top of normalize.css that provides a starting point more
* suitable for web applications. Removes the default spacing and border for
* appropriate elements.
*/
*, *:before, *:after {
box-sizing: border-box;
}
html,
body {
height: 100%;
}
html {
background: inherit;
font-size: var(--font-size-s);
}
html,
button,
input,
select,
textarea {
color: var(--color-gray-vdark);
font-family: var(--font-family-base);
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
body {
line-height: var(--base-line-height);
}
a {
color: var(--color-primary);
text-decoration: none;
}
a:focus
a:hover,
a:active {
color: var(--color-primary);
}
a:hover,
a:active {
text-decoration: underline;
}
a:focus {
text-decoration: none;
}
:focus {
outline: 1px dotted var(--color-gray);
}
blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
figure,
p,
pre {
margin: 0;
}
button {
background: transparent;
border: 0;
padding: 0;
}
fieldset {
border: 0;
margin: 0;
padding: 0;
}
iframe {
border: 0;
}
ol,
ul {
margin: 0;
list-style: none;
padding: 0;
}
/**
* Suppress the focus outline on links that cannot be accessed via keyboard.
* This prevents an unwanted focus outline from appearing around elements that
* might still respond to pointer events.
*/
[tabindex="-1"]:focus {
outline: none !important;
}
/*
* A better looking default horizontal rule
*/
hr {
box-sizing: border-box;
display: block;
height: 1px;
margin: 1.626 0;
padding: 0;
border: 0;
border-top: 1px solid var(--color-gray-vlight);
}
/*
* Remove the gap between images and the bottom of their containers: h5bp.com/i/440
*/
img {
vertical-align: middle;
max-width: 100%;
}
/* Override normalize */
input[type="search"] {
box-sizing: border-box;
}
/*
* Allow only vertical resizing of textareas.
* Reset height since textareas have rows
*/
textarea {
height: auto;
resize: vertical;
}
/* Make multiple select elements height not fixed */
select[multiple],
select[size] {
height: auto;
}
input[type='number']::-webkit-outer-spin-button,
input[type='number']::-webkit-inner-spin-button {
-webkit-appearance: none;
margin: 0;
}
/* FF < 19 */
input:-moz-placeholder,
textarea:-moz-placeholder {
color: var(--color-gray);
}
/* FF >= 19 */
input::-moz-placeholder,
textarea::-moz-placeholder {
color: var(--color-gray);
}
/* IE 10 */
input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
color: var(--color-gray);
}
input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
color: var(--color-gray);
}
/**
* Hide when Angular is not yet loaded and initialized
*/
[ng-cloak] {
display: none;
}
================================================
FILE: client/assets/stylesheets/variables.css
================================================
:root {
--font-family-base: sans-serif;
--font-family-monospace: monospace;
--font-size-xxxl: 24px;
--font-size-xxl: 20px;
--font-size-xl: 18px;
--font-size-l: 16px;
--font-size-m: 15px;
--font-size-s: 14px;
--font-size-xs: 13px;
--font-size-xxs: 12px;
--font-size-xxxs: 11px;
--base-line-height: 1.625;
--color-gray-vdark: #555;
--color-gray: #A5A5A5;
--color-gray-vlight: #EEE;
--color-primary: #5092DA;
}
================================================
FILE: client/components/angular/.bower.json
================================================
{
"name": "angular",
"version": "1.3.5",
"main": "./angular.js",
"ignore": [],
"dependencies": {},
"homepage": "https://github.com/angular/bower-angular",
"_release": "1.3.5",
"_resolution": {
"type": "version",
"tag": "v1.3.5",
"commit": "9acb014af4fd7b0ab001c64fa7bcac454ab4050b"
},
"_source": "git://github.com/angular/bower-angular.git",
"_target": "1.3.5",
"_originalSource": "angular"
}
================================================
FILE: client/components/angular/README.md
================================================
# packaged angular
This repo is for distribution on `npm` and `bower`. The source for this module is in the
[main AngularJS repo](https://github.com/angular/angular.js).
Please file issues and pull requests against that repo.
## Install
You can install this package either with `npm` or with `bower`.
### npm
```shell
npm install angular
```
Then add a `<script>` to your `index.html`:
```html
<script src="/node_modules/angular/angular.js"></script>
```
Note that this package is not in CommonJS format, so doing `require('angular')` will return `undefined`.
If you're using [Browserify](https://github.com/substack/node-browserify), you can use
[exposify](https://github.com/thlorenz/exposify) to have `require('angular')` return the `angular`
global.
### bower
```shell
bower install angular
```
Then add a `<script>` to your `index.html`:
```html
<script src="/bower_components/angular/angular.js"></script>
```
## Documentation
Documentation is available on the
[AngularJS docs site](http://docs.angularjs.org/).
## License
The MIT License
Copyright (c) 2010-2012 Google, Inc. http://angularjs.org
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
================================================
FILE: client/components/angular/angular-csp.css
================================================
/* Include this file in your html if you are using the CSP mode. */
@charset "UTF-8";
[ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak],
.ng-cloak, .x-ng-cloak,
.ng-hide:not(.ng-hide-animate) {
display: none !important;
}
ng\:form {
display: block;
}
================================================
FILE: client/components/angular/angular.js
================================================
/**
* @license AngularJS v1.3.5
* (c) 2010-2014 Google, Inc. http://angularjs.org
* License: MIT
*/
(function(window, document, undefined) {'use strict';
/**
* @description
*
* This object provides a utility for producing rich Error messages within
* Angular. It can be called as follows:
*
* var exampleMinErr = minErr('example');
* throw exampleMinErr('one', 'This {0} is {1}', foo, bar);
*
* The above creates an instance of minErr in the example namespace. The
* resulting error will have a namespaced error code of example.one. The
* resulting error will replace {0} with the value of foo, and {1} with the
* value of bar. The object is not restricted in the number of arguments it can
* take.
*
* If fewer arguments are specified than necessary for interpolation, the extra
* interpolation markers will be preserved in the final string.
*
* Since data will be parsed statically during a build step, some restrictions
* are applied with respect to how minErr instances are created and called.
* Instances should have names of the form namespaceMinErr for a minErr created
* using minErr('namespace') . Error codes, namespaces and template strings
* should all be static strings, not variables or general expressions.
*
* @param {string} module The namespace to use for the new minErr instance.
* @param {function} ErrorConstructor Custom error constructor to be instantiated when returning
* error from returned function, for cases when a particular type of error is useful.
* @returns {function(code:string, template:string, ...templateArgs): Error} minErr instance
*/
function minErr(module, ErrorConstructor) {
ErrorConstructor = ErrorConstructor || Error;
return function() {
var code = arguments[0],
prefix = '[' + (module ? module + ':' : '') + code + '] ',
template = arguments[1],
templateArgs = arguments,
message, i;
message = prefix + template.replace(/\{\d+\}/g, function(match) {
var index = +match.slice(1, -1), arg;
if (index + 2 < templateArgs.length) {
return toDebugString(templateArgs[index + 2]);
}
return match;
});
message = message + '\nhttp://errors.angularjs.org/1.3.5/' +
(module ? module + '/' : '') + code;
for (i = 2; i < arguments.length; i++) {
message = message + (i == 2 ? '?' : '&') + 'p' + (i - 2) + '=' +
encodeURIComponent(toDebugString(arguments[i]));
}
return new ErrorConstructor(message);
};
}
/* We need to tell jshint what variables are being exported */
/* global angular: true,
msie: true,
jqLite: true,
jQuery: true,
slice: true,
splice: true,
push: true,
toString: true,
ngMinErr: true,
angularModule: true,
uid: true,
REGEX_STRING_REGEXP: true,
VALIDITY_STATE_PROPERTY: true,
lowercase: true,
uppercase: true,
manualLowercase: true,
manualUppercase: true,
nodeName_: true,
isArrayLike: true,
forEach: true,
sortedKeys: true,
forEachSorted: true,
reverseParams: true,
nextUid: true,
setHashKey: true,
extend: true,
int: true,
inherit: true,
noop: true,
identity: true,
valueFn: true,
isUndefined: true,
isDefined: true,
isObject: true,
isString: true,
isNumber: true,
isDate: true,
isArray: true,
isFunction: true,
isRegExp: true,
isWindow: true,
isScope: true,
isFile: true,
isBlob: true,
isBoolean: true,
isPromiseLike: true,
trim: true,
escapeForRegexp: true,
isElement: true,
makeMap: true,
includes: true,
arrayRemove: true,
copy: true,
shallowCopy: true,
equals: true,
csp: true,
concat: true,
sliceArgs: true,
bind: true,
toJsonReplacer: true,
toJson: true,
fromJson: true,
startingTag: true,
tryDecodeURIComponent: true,
parseKeyValue: true,
toKeyValue: true,
encodeUriSegment: true,
encodeUriQuery: true,
angularInit: true,
bootstrap: true,
getTestability: true,
snake_case: true,
bindJQuery: true,
assertArg: true,
assertArgFn: true,
assertNotHasOwnProperty: true,
getter: true,
getBlockNodes: true,
hasOwnProperty: true,
createMap: true,
NODE_TYPE_ELEMENT: true,
NODE_TYPE_TEXT: true,
NODE_TYPE_COMMENT: true,
NODE_TYPE_DOCUMENT: true,
NODE_TYPE_DOCUMENT_FRAGMENT: true,
*/
////////////////////////////////////
/**
* @ngdoc module
* @name ng
* @module ng
* @description
*
* # ng (core module)
* The ng module is loaded by default when an AngularJS application is started. The module itself
* contains the essential components for an AngularJS application to function. The table below
* lists a high level breakdown of each of the services/factories, filters, directives and testing
* components available within this core module.
*
* <div doc-module-components="ng"></div>
*/
var REGEX_STRING_REGEXP = /^\/(.+)\/([a-z]*)$/;
// The name of a form control's ValidityState property.
// This is used so that it's possible for internal tests to create mock ValidityStates.
var VALIDITY_STATE_PROPERTY = 'validity';
/**
* @ngdoc function
* @name angular.lowercase
* @module ng
* @kind function
*
* @description Converts the specified string to lowercase.
* @param {string} string String to be converted to lowercase.
* @returns {string} Lowercased string.
*/
var lowercase = function(string) {return isString(string) ? string.toLowerCase() : string;};
var hasOwnProperty = Object.prototype.hasOwnProperty;
/**
* @ngdoc function
* @name angular.uppercase
* @module ng
* @kind function
*
* @description Converts the specified string to uppercase.
* @param {string} string String to be converted to uppercase.
* @returns {string} Uppercased string.
*/
var uppercase = function(string) {return isString(string) ? string.toUpperCase() : string;};
var manualLowercase = function(s) {
/* jshint bitwise: false */
return isString(s)
? s.replace(/[A-Z]/g, function(ch) {return String.fromCharCode(ch.charCodeAt(0) | 32);})
: s;
};
var manualUppercase = function(s) {
/* jshint bitwise: false */
return isString(s)
? s.replace(/[a-z]/g, function(ch) {return String.fromCharCode(ch.charCodeAt(0) & ~32);})
: s;
};
// String#toLowerCase and String#toUpperCase don't produce correct results in browsers with Turkish
// locale, for this reason we need to detect this case and redefine lowercase/uppercase methods
// with correct but slower alternatives.
if ('i' !== 'I'.toLowerCase()) {
lowercase = manualLowercase;
uppercase = manualUppercase;
}
var
msie, // holds major version number for IE, or NaN if UA is not IE.
jqLite, // delay binding since jQuery could be loaded after us.
jQuery, // delay binding
slice = [].slice,
splice = [].splice,
push = [].push,
toString = Object.prototype.toString,
ngMinErr = minErr('ng'),
/** @name angular */
angular = window.angular || (window.angular = {}),
angularModule,
uid = 0;
/**
* documentMode is an IE-only property
* http://msdn.microsoft.com/en-us/library/ie/cc196988(v=vs.85).aspx
*/
msie = document.documentMode;
/**
* @private
* @param {*} obj
* @return {boolean} Returns true if `obj` is an array or array-like object (NodeList, Arguments,
* String ...)
*/
function isArrayLike(obj) {
if (obj == null || isWindow(obj)) {
return false;
}
var length = obj.length;
if (obj.nodeType === NODE_TYPE_ELEMENT && length) {
return true;
}
return isString(obj) || isArray(obj) || length === 0 ||
typeof length === 'number' && length > 0 && (length - 1) in obj;
}
/**
* @ngdoc function
* @name angular.forEach
* @module ng
* @kind function
*
* @description
* Invokes the `iterator` function once for each item in `obj` collection, which can be either an
* object or an array. The `iterator` function is invoked with `iterator(value, key, obj)`, where `value`
* is the value of an object property or an array element, `key` is the object property key or
* array element index and obj is the `obj` itself. Specifying a `context` for the function is optional.
*
* It is worth noting that `.forEach` does not iterate over inherited properties because it filters
* using the `hasOwnProperty` method.
*
* Unlike ES262's
* [Array.prototype.forEach](http://www.ecma-international.org/ecma-262/5.1/#sec-15.4.4.18),
* Providing 'undefined' or 'null' values for `obj` will not throw a TypeError, but rather just
* return the value provided.
*
```js
var values = {name: 'misko', gender: 'male'};
var log = [];
angular.forEach(values, function(value, key) {
this.push(key + ': ' + value);
}, log);
expect(log).toEqual(['name: misko', 'gender: male']);
```
*
* @param {Object|Array} obj Object to iterate over.
* @param {Function} iterator Iterator function.
* @param {Object=} context Object to become context (`this`) for the iterator function.
* @returns {Object|Array} Reference to `obj`.
*/
function forEach(obj, iterator, context) {
var key, length;
if (obj) {
if (isFunction(obj)) {
for (key in obj) {
// Need to check if hasOwnProperty exists,
// as on IE8 the result of querySelectorAll is an object without a hasOwnProperty function
if (key != 'prototype' && key != 'length' && key != 'name' && (!obj.hasOwnProperty || obj.hasOwnProperty(key))) {
iterator.call(context, obj[key], key, obj);
}
}
} else if (isArray(obj) || isArrayLike(obj)) {
var isPrimitive = typeof obj !== 'object';
for (key = 0, length = obj.length; key < length; key++) {
if (isPrimitive || key in obj) {
iterator.call(context, obj[key], key, obj);
}
}
} else if (obj.forEach && obj.forEach !== forEach) {
obj.forEach(iterator, context, obj);
} else {
for (key in obj) {
if (obj.hasOwnProperty(key)) {
iterator.call(context, obj[key], key, obj);
}
}
}
}
return obj;
}
function sortedKeys(obj) {
return Object.keys(obj).sort();
}
function forEachSorted(obj, iterator, context) {
var keys = sortedKeys(obj);
for (var i = 0; i < keys.length; i++) {
iterator.call(context, obj[keys[i]], keys[i]);
}
return keys;
}
/**
* when using forEach the params are value, key, but it is often useful to have key, value.
* @param {function(string, *)} iteratorFn
* @returns {function(*, string)}
*/
function reverseParams(iteratorFn) {
return function(value, key) { iteratorFn(key, value); };
}
/**
* A consistent way of creating unique IDs in angular.
*
* Using simple numbers allows us to generate 28.6 million unique ids per second for 10 years before
* we hit number precision issues in JavaScript.
*
* Math.pow(2,53) / 60 / 60 / 24 / 365 / 10 = 28.6M
*
* @returns {number} an unique alpha-numeric string
*/
function nextUid() {
return ++uid;
}
/**
* Set or clear the hashkey for an object.
* @param obj object
* @param h the hashkey (!truthy to delete the hashkey)
*/
function setHashKey(obj, h) {
if (h) {
obj.$$hashKey = h;
}
else {
delete obj.$$hashKey;
}
}
/**
* @ngdoc function
* @name angular.extend
* @module ng
* @kind function
*
* @description
* Extends the destination object `dst` by copying own enumerable properties from the `src` object(s)
* to `dst`. You can specify multiple `src` objects. If you want to preserve original objects, you can do so
* by passing an empty object as the target: `var object = angular.extend({}, object1, object2)`.
* Note: Keep in mind that `angular.extend` does not support recursive merge (deep copy).
*
* @param {Object} dst Destination object.
* @param {...Object} src Source object(s).
* @returns {Object} Reference to `dst`.
*/
function extend(dst) {
var h = dst.$$hashKey;
for (var i = 1, ii = arguments.length; i < ii; i++) {
var obj = arguments[i];
if (obj) {
var keys = Object.keys(obj);
for (var j = 0, jj = keys.length; j < jj; j++) {
var key = keys[j];
dst[key] = obj[key];
}
}
}
setHashKey(dst, h);
return dst;
}
function int(str) {
return parseInt(str, 10);
}
function inherit(parent, extra) {
return extend(Object.create(parent), extra);
}
/**
* @ngdoc function
* @name angular.noop
* @module ng
* @kind function
*
* @description
* A function that performs no operations. This function can be useful when writing code in the
* functional style.
```js
function foo(callback) {
var result = calculateResult();
(callback || angular.noop)(result);
}
```
*/
function noop() {}
noop.$inject = [];
/**
* @ngdoc function
* @name angular.identity
* @module ng
* @kind function
*
* @description
* A function that returns its first argument. This function is useful when writing code in the
* functional style.
*
```js
function transformer(transformationFn, value) {
return (transformationFn || angular.identity)(value);
};
```
*/
function identity($) {return $;}
identity.$inject = [];
function valueFn(value) {return function() {return value;};}
/**
* @ngdoc function
* @name angular.isUndefined
* @module ng
* @kind function
*
* @description
* Determines if a reference is undefined.
*
* @param {*} value Reference to check.
* @returns {boolean} True if `value` is undefined.
*/
function isUndefined(value) {return typeof value === 'undefined';}
/**
* @ngdoc function
* @name angular.isDefined
* @module ng
* @kind function
*
* @description
* Determines if a reference is defined.
*
* @param {*} value Reference to check.
* @returns {boolean} True if `value` is defined.
*/
function isDefined(value) {return typeof value !== 'undefined';}
/**
* @ngdoc function
* @name angular.isObject
* @module ng
* @kind function
*
* @description
* Determines if a reference is an `Object`. Unlike `typeof` in JavaScript, `null`s are not
* considered to be objects. Note that JavaScript arrays are objects.
*
* @param {*} value Reference to check.
* @returns {boolean} True if `value` is an `Object` but not `null`.
*/
function isObject(value) {
// http://jsperf.com/isobject4
return value !== null && typeof value === 'object';
}
/**
* @ngdoc function
* @name angular.isString
* @module ng
* @kind function
*
* @description
* Determines if a reference is a `String`.
*
* @param {*} value Reference to check.
* @returns {boolean} True if `value` is a `String`.
*/
function isString(value) {return typeof value === 'string';}
/**
* @ngdoc function
* @name angular.isNumber
* @module ng
* @kind function
*
* @description
* Determines if a reference is a `Number`.
*
* @param {*} value Reference to check.
* @returns {boolean} True if `value` is a `Number`.
*/
function isNumber(value) {return typeof value === 'number';}
/**
* @ngdoc function
* @name angular.isDate
* @module ng
* @kind function
*
* @description
* Determines if a value is a date.
*
* @param {*} value Reference to check.
* @returns {boolean} True if `value` is a `Date`.
*/
function isDate(value) {
return toString.call(value) === '[object Date]';
}
/**
* @ngdoc function
* @name angular.isArray
* @module ng
* @kind function
*
* @description
* Determines if a reference is an `Array`.
*
* @param {*} value Reference to check.
* @returns {boolean} True if `value` is an `Array`.
*/
var isArray = Array.isArray;
/**
* @ngdoc function
* @name angular.isFunction
* @module ng
* @kind function
*
* @description
* Determines if a reference is a `Function`.
*
* @param {*} value Reference to check.
* @returns {boolean} True if `value` is a `Function`.
*/
function isFunction(value) {return typeof value === 'function';}
/**
* Determines if a value is a regular expression object.
*
* @private
* @param {*} value Reference to check.
* @returns {boolean} True if `value` is a `RegExp`.
*/
function isRegExp(value) {
return toString.call(value) === '[object RegExp]';
}
/**
* Checks if `obj` is a window object.
*
* @private
* @param {*} obj Object to check
* @returns {boolean} True if `obj` is a window obj.
*/
function isWindow(obj) {
return obj && obj.window === obj;
}
function isScope(obj) {
return obj && obj.$evalAsync && obj.$watch;
}
function isFile(obj) {
return toString.call(obj) === '[object File]';
}
function isBlob(obj) {
return toString.call(obj) === '[object Blob]';
}
function isBoolean(value) {
return typeof value === 'boolean';
}
function isPromiseLike(obj) {
return obj && isFunction(obj.then);
}
var trim = function(value) {
return isString(value) ? value.trim() : value;
};
// Copied from:
// http://docs.closure-library.googlecode.com/git/local_closure_goog_string_string.js.source.html#line1021
// Prereq: s is a string.
var escapeForRegexp = function(s) {
return s.replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g, '\\$1').
replace(/\x08/g, '\\x08');
};
/**
* @ngdoc function
* @name angular.isElement
* @module ng
* @kind function
*
* @description
* Determines if a reference is a DOM element (or wrapped jQuery element).
*
* @param {*} value Reference to check.
* @returns {boolean} True if `value` is a DOM element (or wrapped jQuery element).
*/
function isElement(node) {
return !!(node &&
(node.nodeName // we are a direct element
|| (node.prop && node.attr && node.find))); // we have an on and find method part of jQuery API
}
/**
* @param str 'key1,key2,...'
* @returns {object} in the form of {key1:true, key2:true, ...}
*/
function makeMap(str) {
var obj = {}, items = str.split(","), i;
for (i = 0; i < items.length; i++)
obj[ items[i] ] = true;
return obj;
}
function nodeName_(element) {
return lowercase(element.nodeName || (element[0] && element[0].nodeName));
}
function includes(array, obj) {
return Array.prototype.indexOf.call(array, obj) != -1;
}
function arrayRemove(array, value) {
var index = array.indexOf(value);
if (index >= 0)
array.splice(index, 1);
return value;
}
/**
* @ngdoc function
* @name angular.copy
* @module ng
* @kind function
*
* @description
* Creates a deep copy of `source`, which should be an object or an array.
*
* * If no destination is supplied, a copy of the object or array is created.
* * If a destination is provided, all of its elements (for array) or properties (for objects)
* are deleted and then all elements/properties from the source are copied to it.
* * If `source` is not an object or array (inc. `null` and `undefined`), `source` is returned.
* * If `source` is identical to 'destination' an exception will be thrown.
*
* @param {*} source The source that will be used to make a copy.
* Can be any type, including primitives, `null`, and `undefined`.
* @param {(Object|Array)=} destination Destination into which the source is copied. If
* provided, must be of the same type as `source`.
* @returns {*} The copy or updated `destination`, if `destination` was specified.
*
* @example
<example module="copyExample">
<file name="index.html">
<div ng-controller="ExampleController">
<form novalidate class="simple-form">
Name: <input type="text" ng-model="user.name" /><br />
E-mail: <input type="email" ng-model="user.email" /><br />
Gender: <input type="radio" ng-model="user.gender" value="male" />male
<input type="radio" ng-model="user.gender" value="female" />female<br />
<button ng-click="reset()">RESET</button>
<button ng-click="update(user)">SAVE</button>
</form>
<pre>form = {{user | json}}</pre>
<pre>master = {{master | json}}</pre>
</div>
<script>
angular.module('copyExample', [])
.controller('ExampleController', ['$scope', function($scope) {
$scope.master= {};
$scope.update = function(user) {
// Example with 1 argument
$scope.master= angular.copy(user);
};
$scope.reset = function() {
// Example with 2 arguments
angular.copy($scope.master, $scope.user);
};
$scope.reset();
}]);
</script>
</file>
</example>
*/
function copy(source, destination, stackSource, stackDest) {
if (isWindow(source) || isScope(source)) {
throw ngMinErr('cpws',
"Can't copy! Making copies of Window or Scope instances is not supported.");
}
if (!destination) {
destination = source;
if (source) {
if (isArray(source)) {
destination = copy(source, [], stackSource, stackDest);
} else if (isDate(source)) {
destination = new Date(source.getTime());
} else if (isRegExp(source)) {
destination = new RegExp(source.source, source.toString().match(/[^\/]*$/)[0]);
destination.lastIndex = source.lastIndex;
} else if (isObject(source)) {
var emptyObject = Object.create(Object.getPrototypeOf(source));
destination = copy(source, emptyObject, stackSource, stackDest);
}
}
} else {
if (source === destination) throw ngMinErr('cpi',
"Can't copy! Source and destination are identical.");
stackSource = stackSource || [];
stackDest = stackDest || [];
if (isObject(source)) {
var index = stackSource.indexOf(source);
if (index !== -1) return stackDest[index];
stackSource.push(source);
stackDest.push(destination);
}
var result;
if (isArray(source)) {
destination.length = 0;
for (var i = 0; i < source.length; i++) {
result = copy(source[i], null, stackSource, stackDest);
if (isObject(source[i])) {
stackSource.push(source[i]);
stackDest.push(result);
}
destination.push(result);
}
} else {
var h = destination.$$hashKey;
if (isArray(destination)) {
destination.length = 0;
} else {
forEach(destination, function(value, key) {
delete destination[key];
});
}
for (var key in source) {
if (source.hasOwnProperty(key)) {
result = copy(source[key], null, stackSource, stackDest);
if (isObject(source[key])) {
stackSource.push(source[key]);
stackDest.push(result);
}
destination[key] = result;
}
}
setHashKey(destination,h);
}
}
return destination;
}
/**
* Creates a shallow copy of an object, an array or a primitive.
*
* Assumes that there are no proto properties for objects.
*/
function shallowCopy(src, dst) {
if (isArray(src)) {
dst = dst || [];
for (var i = 0, ii = src.length; i < ii; i++) {
dst[i] = src[i];
}
} else if (isObject(src)) {
dst = dst || {};
for (var key in src) {
if (!(key.charAt(0) === '$' && key.charAt(1) === '$')) {
dst[key] = src[key];
}
}
}
return dst || src;
}
/**
* @ngdoc function
* @name angular.equals
* @module ng
* @kind function
*
* @description
* Determines if two objects or two values are equivalent. Supports value types, regular
* expressions, arrays and objects.
*
* Two objects or values are considered equivalent if at least one of the following is true:
*
* * Both objects or values pass `===` comparison.
* * Both objects or values are of the same type and all of their properties are equal by
* comparing them with `angular.equals`.
* * Both values are NaN. (In JavaScript, NaN == NaN => false. But we consider two NaN as equal)
* * Both values represent the same regular expression (In JavaScript,
* /abc/ == /abc/ => false. But we consider two regular expressions as equal when their textual
* representation matches).
*
* During a property comparison, properties of `function` type and properties with names
* that begin with `$` are ignored.
*
* Scope and DOMWindow objects are being compared only by identify (`===`).
*
* @param {*} o1 Object or value to compare.
* @param {*} o2 Object or value to compare.
* @returns {boolean} True if arguments are equal.
*/
function equals(o1, o2) {
if (o1 === o2) return true;
if (o1 === null || o2 === null) return false;
if (o1 !== o1 && o2 !== o2) return true; // NaN === NaN
var t1 = typeof o1, t2 = typeof o2, length, key, keySet;
if (t1 == t2) {
if (t1 == 'object') {
if (isArray(o1)) {
if (!isArray(o2)) return false;
if ((length = o1.length) == o2.length) {
for (key = 0; key < length; key++) {
if (!equals(o1[key], o2[key])) return false;
}
return true;
}
} else if (isDate(o1)) {
if (!isDate(o2)) return false;
return equals(o1.getTime(), o2.getTime());
} else if (isRegExp(o1) && isRegExp(o2)) {
return o1.toString() == o2.toString();
} else {
if (isScope(o1) || isScope(o2) || isWindow(o1) || isWindow(o2) || isArray(o2)) return false;
keySet = {};
for (key in o1) {
if (key.charAt(0) === '$' || isFunction(o1[key])) continue;
if (!equals(o1[key], o2[key])) return false;
keySet[key] = true;
}
for (key in o2) {
if (!keySet.hasOwnProperty(key) &&
key.charAt(0) !== '$' &&
o2[key] !== undefined &&
!isFunction(o2[key])) return false;
}
return true;
}
}
}
return false;
}
var csp = function() {
if (isDefined(csp.isActive_)) return csp.isActive_;
var active = !!(document.querySelector('[ng-csp]') ||
document.querySelector('[data-ng-csp]'));
if (!active) {
try {
/* jshint -W031, -W054 */
new Function('');
/* jshint +W031, +W054 */
} catch (e) {
active = true;
}
}
return (csp.isActive_ = active);
};
function concat(array1, array2, index) {
return array1.concat(slice.call(array2, index));
}
function sliceArgs(args, startIndex) {
return slice.call(args, startIndex || 0);
}
/* jshint -W101 */
/**
* @ngdoc function
* @name angular.bind
* @module ng
* @kind function
*
* @description
* Returns a function which calls function `fn` bound to `self` (`self` becomes the `this` for
* `fn`). You can supply optional `args` that are prebound to the function. This feature is also
* known as [partial application](http://en.wikipedia.org/wiki/Partial_application), as
* distinguished from [function currying](http://en.wikipedia.org/wiki/Currying#Contrast_with_partial_function_application).
*
* @param {Object} self Context which `fn` should be evaluated in.
* @param {function()} fn Function to be bound.
* @param {...*} args Optional arguments to be prebound to the `fn` function call.
* @returns {function()} Function that wraps the `fn` with all the specified bindings.
*/
/* jshint +W101 */
function bind(self, fn) {
var curryArgs = arguments.length > 2 ? sliceArgs(arguments, 2) : [];
if (isFunction(fn) && !(fn instanceof RegExp)) {
return curryArgs.length
? function() {
return arguments.length
? fn.apply(self, concat(curryArgs, arguments, 0))
: fn.apply(self, curryArgs);
}
: function() {
return arguments.length
? fn.apply(self, arguments)
: fn.call(self);
};
} else {
// in IE, native methods are not functions so they cannot be bound (note: they don't need to be)
return fn;
}
}
function toJsonReplacer(key, value) {
var val = value;
if (typeof key === 'string' && key.charAt(0) === '$' && key.charAt(1) === '$') {
val = undefined;
} else if (isWindow(value)) {
val = '$WINDOW';
} else if (value && document === value) {
val = '$DOCUMENT';
} else if (isScope(value)) {
val = '$SCOPE';
}
return val;
}
/**
* @ngdoc function
* @name angular.toJson
* @module ng
* @kind function
*
* @description
* Serializes input into a JSON-formatted string. Properties with leading $$ characters will be
* stripped since angular uses this notation internally.
*
* @param {Object|Array|Date|string|number} obj Input to be serialized into JSON.
* @param {boolean=} pretty If set to true, the JSON output will contain newlines and whitespace.
* @returns {string|undefined} JSON-ified string representing `obj`.
*/
function toJson(obj, pretty) {
if (typeof obj === 'undefined') return undefined;
return JSON.stringify(obj, toJsonReplacer, pretty ? ' ' : null);
}
/**
* @ngdoc function
* @name angular.fromJson
* @module ng
* @kind function
*
* @description
* Deserializes a JSON string.
*
* @param {string} json JSON string to deserialize.
* @returns {Object|Array|string|number} Deserialized thingy.
*/
function fromJson(json) {
return isString(json)
? JSON.parse(json)
: json;
}
/**
* @returns {string} Returns the string representation of the element.
*/
function startingTag(element) {
element = jqLite(element).clone();
try {
// turns out IE does not let you set .html() on elements which
// are not allowed to have children. So we just ignore it.
element.empty();
} catch (e) {}
var elemHtml = jqLite('<div>').append(element).html();
try {
return element[0].nodeType === NODE_TYPE_TEXT ? lowercase(elemHtml) :
elemHtml.
match(/^(<[^>]+>)/)[1].
replace(/^<([\w\-]+)/, function(match, nodeName) { return '<' + lowercase(nodeName); });
} catch (e) {
return lowercase(elemHtml);
}
}
/////////////////////////////////////////////////
/**
* Tries to decode the URI component without throwing an exception.
*
* @private
* @param str value potential URI component to check.
* @returns {boolean} True if `value` can be decoded
* with the decodeURIComponent function.
*/
function tryDecodeURIComponent(value) {
try {
return decodeURIComponent(value);
} catch (e) {
// Ignore any invalid uri component
}
}
/**
* Parses an escaped url query string into key-value pairs.
* @returns {Object.<string,boolean|Array>}
*/
function parseKeyValue(/**string*/keyValue) {
var obj = {}, key_value, key;
forEach((keyValue || "").split('&'), function(keyValue) {
if (keyValue) {
key_value = keyValue.replace(/\+/g,'%20').split('=');
key = tryDecodeURIComponent(key_value[0]);
if (isDefined(key)) {
var val = isDefined(key_value[1]) ? tryDecodeURIComponent(key_value[1]) : true;
if (!hasOwnProperty.call(obj, key)) {
obj[key] = val;
} else if (isArray(obj[key])) {
obj[key].push(val);
} else {
obj[key] = [obj[key],val];
}
}
}
});
return obj;
}
function toKeyValue(obj) {
var parts = [];
forEach(obj, function(value, key) {
if (isArray(value)) {
forEach(value, function(arrayValue) {
parts.push(encodeUriQuery(key, true) +
(arrayValue === true ? '' : '=' + encodeUriQuery(arrayValue, true)));
});
} else {
parts.push(encodeUriQuery(key, true) +
(value === true ? '' : '=' + encodeUriQuery(value, true)));
}
});
return parts.length ? parts.join('&') : '';
}
/**
* We need our custom method because encodeURIComponent is too aggressive and doesn't follow
* http://www.ietf.org/rfc/rfc3986.txt with regards to the character set (pchar) allowed in path
* segments:
* segment = *pchar
* pchar = unreserved / pct-encoded / sub-delims / ":" / "@"
* pct-encoded = "%" HEXDIG HEXDIG
* unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~"
* sub-delims = "!" / "$" / "&" / "'" / "(" / ")"
* / "*" / "+" / "," / ";" / "="
*/
function encodeUriSegment(val) {
return encodeUriQuery(val, true).
replace(/%26/gi, '&').
replace(/%3D/gi, '=').
replace(/%2B/gi, '+');
}
/**
* This method is intended for encoding *key* or *value* parts of query component. We need a custom
* method because encodeURIComponent is too aggressive and encodes stuff that doesn't have to be
* encoded per http://tools.ietf.org/html/rfc3986:
* query = *( pchar / "/" / "?" )
* pchar = unreserved / pct-encoded / sub-delims / ":" / "@"
* unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~"
* pct-encoded = "%" HEXDIG HEXDIG
* sub-delims = "!" / "$" / "&" / "'" / "(" / ")"
* / "*" / "+" / "," / ";" / "="
*/
function encodeUriQuery(val, pctEncodeSpaces) {
return encodeURIComponent(val).
replace(/%40/gi, '@').
replace(/%3A/gi, ':').
replace(/%24/g, '$').
replace(/%2C/gi, ',').
replace(/%3B/gi, ';').
replace(/%20/g, (pctEncodeSpaces ? '%20' : '+'));
}
var ngAttrPrefixes = ['ng-', 'data-ng-', 'ng:', 'x-ng-'];
function getNgAttribute(element, ngAttr) {
var attr, i, ii = ngAttrPrefixes.length;
element = jqLite(element);
for (i = 0; i < ii; ++i) {
attr = ngAttrPrefixes[i] + ngAttr;
if (isString(attr = element.attr(attr))) {
return attr;
}
}
return null;
}
/**
* @ngdoc directive
* @name ngApp
* @module ng
*
* @element ANY
* @param {angular.Module} ngApp an optional application
* {@link angular.module module} name to load.
* @param {boolean=} ngStrictDi if this attribute is present on the app element, the injector will be
* created in "strict-di" mode. This means that the application will fail to invoke functions which
* do not use explicit function annotation (and are thus unsuitable for minification), as described
* in {@link guide/di the Dependency Injection guide}, and useful debugging info will assist in
* tracking down the root of these bugs.
*
* @description
*
* Use this directive to **auto-bootstrap** an AngularJS application. The `ngApp` directive
* designates the **root element** of the application and is typically placed near the root element
* of the page - e.g. on the `<body>` or `<html>` tags.
*
* Only one AngularJS application can be auto-bootstrapped per HTML document. The first `ngApp`
* found in the document will be used to define the root element to auto-bootstrap as an
* application. To run multiple applications in an HTML document you must manually bootstrap them using
* {@link angular.bootstrap} instead. AngularJS applications cannot be nested within each other.
*
* You can specify an **AngularJS module** to be used as the root module for the application. This
* module will be loaded into the {@link auto.$injector} when the application is bootstrapped and
* should contain the application code needed or have dependencies on other modules that will
* contain the code. See {@link angular.module} for more information.
*
* In the example below if the `ngApp` directive were not placed on the `html` element then the
* document would not be compiled, the `AppController` would not be instantiated and the `{{ a+b }}`
* would not be resolved to `3`.
*
* `ngApp` is the easiest, and most common, way to bootstrap an application.
*
<example module="ngAppDemo">
<file name="index.html">
<div ng-controller="ngAppDemoController">
I can add: {{a}} + {{b}} = {{ a+b }}
</div>
</file>
<file name="script.js">
angular.module('ngAppDemo', []).controller('ngAppDemoController', function($scope) {
$scope.a = 1;
$scope.b = 2;
});
</file>
</example>
*
* Using `ngStrictDi`, you would see something like this:
*
<example ng-app-included="true">
<file name="index.html">
<div ng-app="ngAppStrictDemo" ng-strict-di>
<div ng-controller="GoodController1">
I can add: {{a}} + {{b}} = {{ a+b }}
<p>This renders because the controller does not fail to
instantiate, by using explicit annotation style (see
script.js for details)
</p>
</div>
<div ng-controller="GoodController2">
Name: <input ng-model="name"><br />
Hello, {{name}}!
<p>This renders because the controller does not fail to
instantiate, by using explicit annotation style
(see script.js for details)
</p>
</div>
<div ng-controller="BadController">
I can add: {{a}} + {{b}} = {{ a+b }}
<p>The controller could not be instantiated, due to relying
on automatic function annotations (which are disabled in
strict mode). As such, the content of this section is not
interpolated, and there should be an error in your web console.
</p>
</div>
</div>
</file>
<file name="script.js">
angular.module('ngAppStrictDemo', [])
// BadController will fail to instantiate, due to relying on automatic function annotation,
// rather than an explicit annotation
.controller('BadController', function($scope) {
$scope.a = 1;
$scope.b = 2;
})
// Unlike BadController, GoodController1 and GoodController2 will not fail to be instantiated,
// due to using explicit annotations using the array style and $inject property, respectively.
.controller('GoodController1', ['$scope', function($scope) {
$scope.a = 1;
$scope.b = 2;
}])
.controller('GoodController2', GoodController2);
function GoodController2($scope) {
$scope.name = "World";
}
GoodController2.$inject = ['$scope'];
</file>
<file name="style.css">
div[ng-controller] {
margin-bottom: 1em;
-webkit-border-radius: 4px;
border-radius: 4px;
border: 1px solid;
padding: .5em;
}
div[ng-controller^=Good] {
border-color: #d6e9c6;
background-color: #dff0d8;
color: #3c763d;
}
div[ng-controller^=Bad] {
border-color: #ebccd1;
background-color: #f2dede;
color: #a94442;
margin-bottom: 0;
}
</file>
</example>
*/
function angularInit(element, bootstrap) {
var appElement,
module,
config = {};
// The element `element` has priority over any other element
forEach(ngAttrPrefixes, function(prefix) {
var name = prefix + 'app';
if (!appElement && element.hasAttribute && element.hasAttribute(name)) {
appElement = element;
module = element.getAttribute(name);
}
});
forEach(ngAttrPrefixes, function(prefix) {
var name = prefix + 'app';
var candidate;
if (!appElement && (candidate = element.querySelector('[' + name.replace(':', '\\:') + ']'))) {
appElement = candidate;
module = candidate.getAttribute(name);
}
});
if (appElement) {
config.strictDi = getNgAttribute(appElement, "strict-di") !== null;
bootstrap(appElement, module ? [module] : [], config);
}
}
/**
* @ngdoc function
* @name angular.bootstrap
* @module ng
* @description
* Use this function to manually start up angular application.
*
* See: {@link guide/bootstrap Bootstrap}
*
* Note that Protractor based end-to-end tests cannot use this function to bootstrap manually.
* They must use {@link ng.directive:ngApp ngApp}.
*
* Angular will detect if it has been loaded into the browser more than once and only allow the
* first loaded script to be bootstrapped and will report a warning to the browser console for
* each of the subsequent scripts. This prevents strange results in applications, where otherwise
* multiple instances of Angular try to work on the DOM.
*
* ```html
* <!doctype html>
* <html>
* <body>
* <div ng-controller="WelcomeController">
* {{greeting}}
* </div>
*
* <script src="angular.js"></script>
* <script>
* var app = angular.module('demo', [])
* .controller('WelcomeController', function($scope) {
* $scope.greeting = 'Welcome!';
* });
* angular.bootstrap(document, ['demo']);
* </script>
* </body>
* </html>
* ```
*
* @param {DOMElement} element DOM element which is the root of angular application.
* @param {Array<String|Function|Array>=} modules an array of modules to load into the application.
* Each item in the array should be the name of a predefined module or a (DI annotated)
* function that will be invoked by the injector as a run block.
* See: {@link angular.module modules}
* @param {Object=} config an object for defining configuration options for the application. The
* following keys are supported:
*
* * `strictDi` - disable automatic function annotation for the application. This is meant to
* assist in finding bugs which break minified code. Defaults to `false`.
*
* @returns {auto.$injector} Returns the newly created injector for this app.
*/
function bootstrap(element, modules, config) {
if (!isObject(config)) config = {};
var defaultConfig = {
strictDi: false
};
config = extend(defaultConfig, config);
var doBootstrap = function() {
element = jqLite(element);
if (element.injector()) {
var tag = (element[0] === document) ? 'document' : startingTag(element);
//Encode angle brackets to prevent input from being sanitized to empty string #8683
throw ngMinErr(
'btstrpd',
"App Already Bootstrapped with this Element '{0}'",
tag.replace(/</,'<').replace(/>/,'>'));
}
modules = modules || [];
modules.unshift(['$provide', function($provide) {
$provide.value('$rootElement', element);
}]);
if (config.debugInfoEnabled) {
// Pushing so that this overrides `debugInfoEnabled` setting defined in user's `modules`.
modules.push(['$compileProvider', function($compileProvider) {
$compileProvider.debugInfoEnabled(true);
}]);
}
modules.unshift('ng');
var injector = createInjector(modules, config.strictDi);
injector.invoke(['$rootScope', '$rootElement', '$compile', '$injector',
function bootstrapApply(scope, element, compile, injector) {
scope.$apply(function() {
element.data('$injector', injector);
compile(element)(scope);
});
}]
);
return injector;
};
var NG_ENABLE_DEBUG_INFO = /^NG_ENABLE_DEBUG_INFO!/;
var NG_DEFER_BOOTSTRAP = /^NG_DEFER_BOOTSTRAP!/;
if (window && NG_ENABLE_DEBUG_INFO.test(window.name)) {
config.debugInfoEnabled = true;
window.name = window.name.replace(NG_ENABLE_DEBUG_INFO, '');
}
if (window && !NG_DEFER_BOOTSTRAP.test(window.name)) {
return doBootstrap();
}
window.name = window.name.replace(NG_DEFER_BOOTSTRAP, '');
angular.resumeBootstrap = function(extraModules) {
forEach(extraModules, function(module) {
modules.push(module);
});
doBootstrap();
};
}
/**
* @ngdoc function
* @name angular.reloadWithDebugInfo
* @module ng
* @description
* Use this function to reload the current application with debug information turned on.
* This takes precedence over a call to `$compileProvider.debugInfoEnabled(false)`.
*
* See {@link ng.$compileProvider#debugInfoEnabled} for more.
*/
function reloadWithDebugInfo() {
window.name = 'NG_ENABLE_DEBUG_INFO!' + window.name;
window.location.reload();
}
/**
* @name angular.getTestability
* @module ng
* @description
* Get the testability service for the instance of Angular on the given
* element.
* @param {DOMElement} element DOM element which is the root of angular application.
*/
function getTestability(rootElement) {
return angular.element(rootElement).injector().get('$$testability');
}
var SNAKE_CASE_REGEXP = /[A-Z]/g;
function snake_case(name, separator) {
separator = separator || '_';
return name.replace(SNAKE_CASE_REGEXP, function(letter, pos) {
return (pos ? separator : '') + letter.toLowerCase();
});
}
var bindJQueryFired = false;
var skipDestroyOnNextJQueryCleanData;
function bindJQuery() {
var originalCleanData;
if (bindJQueryFired) {
return;
}
// bind to jQuery if present;
jQuery = window.jQuery;
// Use jQuery if it exists with proper functionality, otherwise default to us.
// Angular 1.2+ requires jQuery 1.7+ for on()/off() support.
// Angular 1.3+ technically requires at least jQuery 2.1+ but it may work with older
// versions. It will not work for sure with jQuery <1.7, though.
if (jQuery && jQuery.fn.on) {
jqLite = jQuery;
extend(jQuery.fn, {
scope: JQLitePrototype.scope,
isolateScope: JQLitePrototype.isolateScope,
controller: JQLitePrototype.controller,
injector: JQLitePrototype.injector,
inheritedData: JQLitePrototype.inheritedData
});
// All nodes removed from the DOM via various jQuery APIs like .remove()
// are passed through jQuery.cleanData. Monkey-patch this method to fire
// the $destroy event on all removed nodes.
originalCleanData = jQuery.cleanData;
jQuery.cleanData = function(elems) {
var events;
if (!skipDestroyOnNextJQueryCleanData) {
for (var i = 0, elem; (elem = elems[i]) != null; i++) {
events = jQuery._data(elem, "events");
if (events && events.$destroy) {
jQuery(elem).triggerHandler('$destroy');
}
}
} else {
skipDestroyOnNextJQueryCleanData = false;
}
originalCleanData(elems);
};
} else {
jqLite = JQLite;
}
angular.element = jqLite;
// Prevent double-proxying.
bindJQueryFired = true;
}
/**
* throw error if the argument is falsy.
*/
function assertArg(arg, name, reason) {
if (!arg) {
throw ngMinErr('areq', "Argument '{0}' is {1}", (name || '?'), (reason || "required"));
}
return arg;
}
function assertArgFn(arg, name, acceptArrayAnnotation) {
if (acceptArrayAnnotation && isArray(arg)) {
arg = arg[arg.length - 1];
}
assertArg(isFunction(arg), name, 'not a function, got ' +
(arg && typeof arg === 'object' ? arg.constructor.name || 'Object' : typeof arg));
return arg;
}
/**
* throw error if the name given is hasOwnProperty
* @param {String} name the name to test
* @param {String} context the context in which the name is used, such as module or directive
*/
function assertNotHasOwnProperty(name, context) {
if (name === 'hasOwnProperty') {
throw ngMinErr('badname', "hasOwnProperty is not a valid {0} name", context);
}
}
/**
* Return the value accessible from the object by path. Any undefined traversals are ignored
* @param {Object} obj starting object
* @param {String} path path to traverse
* @param {boolean} [bindFnToScope=true]
* @returns {Object} value as accessible by path
*/
//TODO(misko): this function needs to be removed
function getter(obj, path, bindFnToScope) {
if (!path) return obj;
var keys = path.split('.');
var key;
var lastInstance = obj;
var len = keys.length;
for (var i = 0; i < len; i++) {
key = keys[i];
if (obj) {
obj = (lastInstance = obj)[key];
}
}
if (!bindFnToScope && isFunction(obj)) {
return bind(lastInstance, obj);
}
return obj;
}
/**
* Return the DOM siblings between the first and last node in the given array.
* @param {Array} array like object
* @returns {jqLite} jqLite collection containing the nodes
*/
function getBlockNodes(nodes) {
// TODO(perf): just check if all items in `nodes` are siblings and if they are return the original
// collection, otherwise update the original collection.
var node = nodes[0];
var endNode = nodes[nodes.length - 1];
var blockNodes = [node];
do {
node = node.nextSibling;
if (!node) break;
blockNodes.push(node);
} while (node !== endNode);
return jqLite(blockNodes);
}
/**
* Creates a new object without a prototype. This object is useful for lookup without having to
* guard against prototypically inherited properties via hasOwnProperty.
*
* Related micro-benchmarks:
* - http://jsperf.com/object-create2
* - http://jsperf.com/proto-map-lookup/2
* - http://jsperf.com/for-in-vs-object-keys2
*
* @returns {Object}
*/
function createMap() {
return Object.create(null);
}
var NODE_TYPE_ELEMENT = 1;
var NODE_TYPE_TEXT = 3;
var NODE_TYPE_COMMENT = 8;
var NODE_TYPE_DOCUMENT = 9;
var NODE_TYPE_DOCUMENT_FRAGMENT = 11;
/**
* @ngdoc type
* @name angular.Module
* @module ng
* @description
*
* Interface for configuring angular {@link angular.module modules}.
*/
function setupModuleLoader(window) {
var $injectorMinErr = minErr('$injector');
var ngMinErr = minErr('ng');
function ensure(obj, name, factory) {
return obj[name] || (obj[name] = factory());
}
var angular = ensure(window, 'angular', Object);
// We need to expose `angular.$$minErr` to modules such as `ngResource` that reference it during bootstrap
angular.$$minErr = angular.$$minErr || minErr;
return ensure(angular, 'module', function() {
/** @type {Object.<string, angular.Module>} */
var modules = {};
/**
* @ngdoc function
* @name angular.module
* @module ng
* @description
*
* The `angular.module` is a global place for creating, registering and retrieving Angular
* modules.
* All modules (angular core or 3rd party) that should be available to an application must be
* registered using this mechanism.
*
* When passed two or more arguments, a new module is created. If passed only one argument, an
* existing module (the name passed as the first argument to `module`) is retrieved.
*
*
* # Module
*
* A module is a collection of services, directives, controllers, filters, and configuration information.
* `angular.module` is used to configure the {@link auto.$injector $injector}.
*
* ```js
* // Create a new module
* var myModule = angular.module('myModule', []);
*
* // register a new service
* myModule.value('appName', 'MyCoolApp');
*
* // configure existing services inside initialization blocks.
* myModule.config(['$locationProvider', function($locationProvider) {
* // Configure existing providers
* $locationProvider.hashPrefix('!');
* }]);
* ```
*
* Then you can create an injector and load your modules like this:
*
* ```js
* var injector = angular.injector(['ng', 'myModule'])
* ```
*
* However it's more likely that you'll just use
* {@link ng.directive:ngApp ngApp} or
* {@link angular.bootstrap} to simplify this process for you.
*
* @param {!string} name The name of the module to create or retrieve.
* @param {!Array.<string>=} requires If specified then new module is being created. If
* unspecified then the module is being retrieved for further configuration.
* @param {Function=} configFn Optional configuration function for the module. Same as
* {@link angular.Module#config Module#config()}.
* @returns {module} new module with the {@link angular.Module} api.
*/
return function module(name, requires, configFn) {
var assertNotHasOwnProperty = function(name, context) {
if (name === 'hasOwnProperty') {
throw ngMinErr('badname', 'hasOwnProperty is not a valid {0} name', context);
}
};
assertNotHasOwnProperty(name, 'module');
if (requires && modules.hasOwnProperty(name)) {
modules[name] = null;
}
return ensure(modules, name, function() {
if (!requires) {
throw $injectorMinErr('nomod', "Module '{0}' is not available! You either misspelled " +
"the module name or forgot to load it. If registering a module ensure that you " +
"specify the dependencies as the second argument.", name);
}
/** @type {!Array.<Array.<*>>} */
var invokeQueue = [];
/** @type {!Array.<Function>} */
var configBlocks = [];
/** @type {!Array.<Function>} */
var runBlocks = [];
var config = invokeLater('$injector', 'invoke', 'push', configBlocks);
/** @type {angular.Module} */
var moduleInstance = {
// Private state
_invokeQueue: invokeQueue,
_configBlocks: configBlocks,
_runBlocks: runBlocks,
/**
* @ngdoc property
* @name angular.Module#requires
* @module ng
*
* @description
* Holds the list of modules which the injector will load before the current module is
* loaded.
*/
requires: requires,
/**
* @ngdoc property
* @name angular.Module#name
* @module ng
*
* @description
* Name of the module.
*/
name: name,
/**
* @ngdoc method
* @name angular.Module#provider
* @module ng
* @param {string} name service name
* @param {Function} providerType Construction function for creating new instance of the
* service.
* @description
* See {@link auto.$provide#provider $provide.provider()}.
*/
provider: invokeLater('$provide', 'provider'),
/**
* @ngdoc method
* @name angular.Module#factory
* @module ng
* @param {string} name service name
* @param {Function} providerFunction Function for creating new instance of the service.
* @description
* See {@link auto.$provide#factory $provide.factory()}.
*/
factory: invokeLater('$provide', 'factory'),
/**
* @ngdoc method
* @name angular.Module#service
* @module ng
* @param {string} name service name
* @param {Function} constructor A constructor function that will be instantiated.
* @description
* See {@link auto.$provide#service $provide.service()}.
*/
service: invokeLater('$provide', 'service'),
/**
* @ngdoc method
* @name angular.Module#value
* @module ng
* @param {string} name service name
* @param {*} object Service instance object.
* @description
* See {@link auto.$provide#value $provide.value()}.
*/
value: invokeLater('$provide', 'value'),
/**
* @ngdoc method
* @name angular.Module#constant
* @module ng
* @param {string} name constant name
* @param {*} object Constant value.
* @description
* Because the constant are fixed, they get applied before other provide methods.
* See {@link auto.$provide#constant $provide.constant()}.
*/
constant: invokeLater('$provide', 'constant', 'unshift'),
/**
* @ngdoc method
* @name angular.Module#animation
* @module ng
* @param {string} name animation name
* @param {Function} animationFactory Factory function for creating new instance of an
* animation.
* @description
*
* **NOTE**: animations take effect only if the **ngAnimate** module is loaded.
*
*
* Defines an animation hook that can be later used with
* {@link ngAnimate.$animate $animate} service and directives that use this service.
*
* ```js
* module.animation('.animation-name', function($inject1, $inject2) {
* return {
* eventName : function(element, done) {
* //code to run the animation
* //once complete, then run done()
* return function cancellationFunction(element) {
* //code to cancel the animation
* }
* }
* }
* })
* ```
*
* See {@link ng.$animateProvider#register $animateProvider.register()} and
* {@link ngAnimate ngAnimate module} for more information.
*/
animation: invokeLater('$animateProvider', 'register'),
/**
* @ngdoc method
* @name angular.Module#filter
* @module ng
* @param {string} name Filter name.
* @param {Function} filterFactory Factory function for creating new instance of filter.
* @description
* See {@link ng.$filterProvider#register $filterProvider.register()}.
*/
filter: invokeLater('$filterProvider', 'register'),
/**
* @ngdoc method
* @name angular.Module#controller
* @module ng
* @param {string|Object} name Controller name, or an object map of controllers where the
* keys are the names and the values are the constructors.
* @param {Function} constructor Controller constructor function.
* @description
* See {@link ng.$controllerProvider#register $controllerProvider.register()}.
*/
controller: invokeLater('$controllerProvider', 'register'),
/**
* @ngdoc method
* @name angular.Module#directive
* @module ng
* @param {string|Object} name Directive name, or an object map of directives where the
* keys are the names and the values are the factories.
* @param {Function} directiveFactory Factory function for creating new instance of
* directives.
* @description
* See {@link ng.$compileProvider#directive $compileProvider.directive()}.
*/
directive: invokeLater('$compileProvider', 'directive'),
/**
* @ngdoc method
* @name angular.Module#config
* @module ng
* @param {Function} configFn Execute this function on module load. Useful for service
* configuration.
* @description
* Use this method to register work which needs to be performed on module loading.
* For more about how to configure services, see
* {@link providers#provider-recipe Provider Recipe}.
*/
config: config,
/**
* @ngdoc method
* @name angular.Module#run
* @module ng
* @param {Function} initializationFn Execute this function after injector creation.
* Useful for application initialization.
* @description
* Use this method to register work which should be performed when the injector is done
* loading all modules.
*/
run: function(block) {
runBlocks.push(block);
return this;
}
};
if (configFn) {
config(configFn);
}
return moduleInstance;
/**
* @param {string} provider
* @param {string} method
* @param {String=} insertMethod
* @returns {angular.Module}
*/
function invokeLater(provider, method, insertMethod, queue) {
if (!queue) queue = invokeQueue;
return function() {
queue[insertMethod || 'push']([provider, method, arguments]);
return moduleInstance;
};
}
});
};
});
}
/* global: toDebugString: true */
function serializeObject(obj) {
var seen = [];
return JSON.stringify(obj, function(key, val) {
val = toJsonReplacer(key, val);
if (isObject(val)) {
if (seen.indexOf(val) >= 0) return '<<already seen>>';
seen.push(val);
}
return val;
});
}
function toDebugString(obj) {
if (typeof obj === 'function') {
return obj.toString().replace(/ \{[\s\S]*$/, '');
} else if (typeof obj === 'undefined') {
return 'undefined';
} else if (typeof obj !== 'string') {
return serializeObject(obj);
}
return obj;
}
/* global angularModule: true,
version: true,
$LocaleProvider,
$CompileProvider,
htmlAnchorDirective,
inputDirective,
inputDirective,
formDirective,
scriptDirective,
selectDirective,
styleDirective,
optionDirective,
ngBindDirective,
ngBindHtmlDirective,
ngBindTemplateDirective,
ngClassDirective,
ngClassEvenDirective,
ngClassOddDirective,
ngCspDirective,
ngCloakDirective,
ngControllerDirective,
ngFormDirective,
ngHideDirective,
ngIfDirective,
ngIncludeDirective,
ngIncludeFillContentDirective,
ngInitDirective,
ngNonBindableDirective,
ngPluralizeDirective,
ngRepeatDirective,
ngShowDirective,
ngStyleDirective,
ngSwitchDirective,
ngSwitchWhenDirective,
ngSwitchDefaultDirective,
ngOptionsDirective,
ngTranscludeDirective,
ngModelDirective,
ngListDirective,
ngChangeDirective,
patternDirective,
patternDirective,
requiredDirective,
requiredDirective,
minlengthDirective,
minlengthDirective,
maxlengthDirective,
maxlengthDirective,
ngValueDirective,
ngModelOptionsDirective,
ngAttributeAliasDirectives,
ngEventDirectives,
$AnchorScrollProvider,
$AnimateProvider,
$BrowserProvider,
$CacheFactoryProvider,
$ControllerProvider,
$DocumentProvider,
$ExceptionHandlerProvider,
$FilterProvider,
$InterpolateProvider,
$IntervalProvider,
$HttpProvider,
$HttpBackendProvider,
$LocationProvider,
$LogProvider,
$ParseProvider,
$RootScopeProvider,
$QProvider,
$$QProvider,
$$SanitizeUriProvider,
$SceProvider,
$SceDelegateProvider,
$SnifferProvider,
$TemplateCacheProvider,
$TemplateRequestProvider,
$$TestabilityProvider,
$TimeoutProvider,
$$RAFProvider,
$$AsyncCallbackProvider,
$WindowProvider
*/
/**
* @ngdoc object
* @name angular.version
* @module ng
* @description
* An object that contains information about the current AngularJS version. This object has the
* following properties:
*
* - `full` – `{string}` – Full version string, such as "0.9.18".
* - `major` – `{number}` – Major version number, such as "0".
* - `minor` – `{number}` – Minor version number, such as "9".
* - `dot` – `{number}` – Dot version number, such as "18".
* - `codeName` – `{string}` – Code name of the release, such as "jiggling-armfat".
*/
var version = {
full: '1.3.5', // all of these placeholder strings will be replaced by grunt's
major: 1, // package task
minor: 3,
dot: 5,
codeName: 'cybernetic-mercantilism'
};
function publishExternalAPI(angular) {
extend(angular, {
'bootstrap': bootstrap,
'copy': copy,
'extend': extend,
'equals': equals,
'element': jqLite,
'forEach': forEach,
'injector': createInjector,
'noop': noop,
'bind': bind,
'toJson': toJson,
'fromJson': fromJson,
'identity': identity,
'isUndefined': isUndefined,
'isDefined': isDefined,
'isString': isString,
'isFunction': isFunction,
'isObject': isObject,
'isNumber': isNumber,
'isElement': isElement,
'isArray': isArray,
'version': version,
'isDate': isDate,
'lowercase': lowercase,
'uppercase': uppercase,
'callbacks': {counter: 0},
'getTestability': getTestability,
'$$minErr': minErr,
'$$csp': csp,
'reloadWithDebugInfo': reloadWithDebugInfo
});
angularModule = setupModuleLoader(window);
try {
angularModule('ngLocale');
} catch (e) {
angularModule('ngLocale', []).provider('$locale', $LocaleProvider);
}
angularModule('ng', ['ngLocale'], ['$provide',
function ngModule($provide) {
// $$sanitizeUriProvider needs to be before $compileProvider as it is used by it.
$provide.provider({
$$sanitizeUri: $$SanitizeUriProvider
});
$provide.provider('$compile', $CompileProvider).
directive({
a: htmlAnchorDirective,
input: inputDirective,
textarea: inputDirective,
form: formDirective,
script: scriptDirective,
select: selectDirective,
style: styleDirective,
option: optionDirective,
ngBind: ngBindDirective,
ngBindHtml: ngBindHtmlDirective,
ngBindTemplate: ngBindTemplateDirective,
ngClass: ngClassDirective,
ngClassEven: ngClassEvenDirective,
ngClassOdd: ngClassOddDirective,
ngCloak: ngCloakDirective,
ngController: ngControllerDirective,
ngForm: ngFormDirective,
ngHide: ngHideDirective,
ngIf: ngIfDirective,
ngInclude: ngIncludeDirective,
ngInit: ngInitDirective,
ngNonBindable: ngNonBindableDirective,
ngPluralize: ngPluralizeDirective,
ngRepeat: ngRepeatDirective,
ngShow: ngShowDirective,
ngStyle: ngStyleDirective,
ngSwitch: ngSwitchDirective,
ngSwitchWhen: ngSwitchWhenDirective,
ngSwitchDefault: ngSwitchDefaultDirective,
ngOptions: ngOptionsDirective,
ngTransclude: ngTranscludeDirective,
ngModel: ngModelDirective,
ngList: ngListDirective,
ngChange: ngChangeDirective,
pattern: patternDirective,
ngPattern: patternDirective,
required: requiredDirective,
ngRequired: requiredDirective,
minlength: minlengthDirective,
ngMinlength: minlengthDirective,
maxlength: maxlengthDirective,
ngMaxlength: maxlengthDirective,
ngValue: ngValueDirective,
ngModelOptions: ngModelOptionsDirective
}).
directive({
ngInclude: ngIncludeFillContentDirective
}).
directive(ngAttributeAliasDirectives).
directive(ngEventDirectives);
$provide.provider({
$anchorScroll: $AnchorScrollProvider,
$animate: $AnimateProvider,
$browser: $BrowserProvider,
$cacheFactory: $CacheFactoryProvider,
$controller: $ControllerProvider,
$document: $DocumentProvider,
$exceptionHandler: $ExceptionHandlerProvider,
$filter: $FilterProvider,
$interpolate: $InterpolateProvider,
$interval: $IntervalProvider,
$http: $HttpProvider,
$httpBackend: $HttpBackendProvider,
$location: $LocationProvider,
$log: $LogProvider,
$parse: $ParseProvider,
$rootScope: $RootScopeProvider,
$q: $QProvider,
$$q: $$QProvider,
$sce: $SceProvider,
$sceDelegate: $SceDelegateProvider,
$sniffer: $SnifferProvider,
$templateCache: $TemplateCacheProvider,
$templateRequest: $TemplateRequestProvider,
$$testability: $$TestabilityProvider,
$timeout: $TimeoutProvider,
$window: $WindowProvider,
$$rAF: $$RAFProvider,
$$asyncCallback: $$AsyncCallbackProvider
});
}
]);
}
/* global JQLitePrototype: true,
addEventListenerFn: true,
removeEventListenerFn: true,
BOOLEAN_ATTR: true,
ALIASED_ATTR: true,
*/
//////////////////////////////////
//JQLite
//////////////////////////////////
/**
* @ngdoc function
* @name angular.element
* @module ng
* @kind function
*
* @description
* Wraps a raw DOM element or HTML string as a [jQuery](http://jquery.com) element.
*
* If jQuery is available, `angular.element` is an alias for the
* [jQuery](http://api.jquery.com/jQuery/) function. If jQuery is not available, `angular.element`
* delegates to Angular's built-in subset of jQuery, called "jQuery lite" or "jqLite."
*
* <div class="alert alert-success">jqLite is a tiny, API-compatible subset of jQuery that allows
* Angular to manipulate the DOM in a cross-browser compatible way. **jqLite** implements only the most
* commonly needed functionality with the goal of having a very small footprint.</div>
*
* To use jQuery, simply load it before `DOMContentLoaded` event fired.
*
* <div class="alert">**Note:** all element references in Angular are always wrapped with jQuery or
* jqLite; they are never raw DOM references.</div>
*
* ## Angular's jqLite
* jqLite provides only the following jQuery methods:
*
* - [`addClass()`](http://api.jquery.com/addClass/)
* - [`after()`](http://api.jquery.com/after/)
* - [`append()`](http://api.jquery.com/append/)
* - [`attr()`](http://api.jquery.com/attr/) - Does not support functions as parameters
* - [`bind()`](http://api.jquery.com/bind/) - Does not support namespaces, selectors or eventData
* - [`children()`](http://api.jquery.com/children/) - Does not support selectors
* - [`clone()`](http://api.jquery.com/clone/)
* - [`contents()`](http://api.jquery.com/contents/)
* - [`css()`](http://api.jquery.com/css/) - Only retrieves inline-styles, does not call `getComputedStyle()`
* - [`data()`](http://api.jquery.com/data/)
* - [`detach()`](http://api.jquery.com/detach/)
* - [`empty()`](http://api.jquery.com/empty/)
* - [`eq()`](http://api.jquery.com/eq/)
* - [`find()`](http://api.jquery.com/find/) - Limited to lookups by tag name
* - [`hasClass()`](http://api.jquery.com/hasClass/)
* - [`html()`](http://api.jquery.com/html/)
* - [`next()`](http://api.jquery.com/next/) - Does not support selectors
* - [`on()`](http://api.jquery.com/on/) - Does not support namespaces, selectors or eventData
* - [`off()`](http://api.jquery.com/off/) - Does not support namespaces or selectors
* - [`one()`](http://api.jquery.com/one/) - Does not support namespaces or selectors
* - [`parent()`](http://api.jquery.com/parent/) - Does not support selectors
* - [`prepend()`](http://api.jquery.com/prepend/)
* - [`prop()`](http://api.jquery.com/prop/)
* - [`ready()`](http://api.jquery.com/ready/)
* - [`remove()`](http://api.jquery.com/remove/)
* - [`removeAttr()`](http://api.jquery.com/removeAttr/)
* - [`removeClass()`](http://api.jquery.com/removeClass/)
* - [`removeData()`](http://api.jquery.com/removeData/)
* - [`replaceWith()`](http://api.jquery.com/replaceWith/)
* - [`text()`](http://api.jquery.com/text/)
* - [`toggleClass()`](http://api.jquery.com/toggleClass/)
* - [`triggerHandler()`](http://api.jquery.com/triggerHandler/) - Passes a dummy event object to handlers.
* - [`unbind()`](http://api.jquery.com/unbind/) - Does not support namespaces
* - [`val()`](http://api.jquery.com/val/)
* - [`wrap()`](http://api.jquery.com/wrap/)
*
* ## jQuery/jqLite Extras
* Angular also provides the following additional methods and events to both jQuery and jqLite:
*
* ### Events
* - `$destroy` - AngularJS intercepts all jqLite/jQuery's DOM destruction apis and fires this event
* on all DOM nodes being removed. This can be used to clean up any 3rd party bindings to the DOM
* element before it is removed.
*
* ### Methods
* - `controller(name)` - retrieves the controller of the current element or its parent. By default
* retrieves controller associated with the `ngController` directive. If `name` is provided as
* camelCase directive name, then the controller for this directive will be retrieved (e.g.
* `'ngModel'`).
* - `injector()` - retrieves the injector of the current element or its parent.
* - `scope()` - retrieves the {@link ng.$rootScope.Scope scope} of the current
* element or its parent. Requires {@link guide/production#disabling-debug-data Debug Data} to
* be enabled.
* - `isolateScope()` - retrieves an isolate {@link ng.$rootScope.Scope scope} if one is attached directly to the
* current element. This getter should be used only on elements that contain a directive which starts a new isolate
* scope. Calling `scope()` on this element always returns the original non-isolate scope.
* Requires {@link guide/production#disabling-debug-data Debug Data} to be enabled.
* - `inheritedData()` - same as `data()`, but walks up the DOM until a value is found or the top
* parent element is reached.
*
* @param {string|DOMElement} element HTML string or DOMElement to be wrapped into jQuery.
* @returns {Object} jQuery object.
*/
JQLite.expando = 'ng339';
var jqCache = JQLite.cache = {},
jqId = 1,
addEventListenerFn = function(element, type, fn) {
element.addEventListener(type, fn, false);
},
removeEventListenerFn = function(element, type, fn) {
element.removeEventListener(type, fn, false);
};
/*
* !!! This is an undocumented "private" function !!!
*/
JQLite._data = function(node) {
//jQuery always returns an object on cache miss
return this.cache[node[this.expando]] || {};
};
function jqNextId() { return ++jqId; }
var SPECIAL_CHARS_REGEXP = /([\:\-\_]+(.))/g;
var MOZ_HACK_REGEXP = /^moz([A-Z])/;
var MOUSE_EVENT_MAP= { mouseleave: "mouseout", mouseenter: "mouseover"};
var jqLiteMinErr = minErr('jqLite');
/**
* Converts snake_case to camelCase.
* Also there is special case for Moz prefix starting with upper case letter.
* @param name Name to normalize
*/
function camelCase(name) {
return name.
replace(SPECIAL_CHARS_REGEXP, function(_, separator, letter, offset) {
return offset ? letter.toUpperCase() : letter;
}).
replace(MOZ_HACK_REGEXP, 'Moz$1');
}
var SINGLE_TAG_REGEXP = /^<(\w+)\s*\/?>(?:<\/\1>|)$/;
var HTML_REGEXP = /<|&#?\w+;/;
var TAG_NAME_REGEXP = /<([\w:]+)/;
var XHTML_TAG_REGEXP = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi;
var wrapMap = {
'option': [1, '<select multiple="multiple">', '</select>'],
'thead': [1, '<table>', '</table>'],
'col': [2, '<table><colgroup>', '</colgroup></table>'],
'tr': [2, '<table><tbody>', '</tbody></table>'],
'td': [3, '<table><tbody><tr>', '</tr></tbody></table>'],
'_default': [0, "", ""]
};
wrapMap.optgroup = wrapMap.option;
wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;
wrapMap.th = wrapMap.td;
function jqLiteIsTextNode(html) {
return !HTML_REGEXP.test(html);
}
function jqLiteAcceptsData(node) {
// The window object can accept data but has no nodeType
// Otherwise we are only interested in elements (1) and documents (9)
var nodeType = node.nodeType;
return nodeType === NODE_TYPE_ELEMENT || !nodeType || nodeType === NODE_TYPE_DOCUMENT;
}
function jqLiteBuildFragment(html, context) {
var tmp, tag, wrap,
fragment = context.createDocumentFragment(),
nodes = [], i;
if (jqLiteIsTextNode(html)) {
// Convert non-html into a text node
nodes.push(context.createTextNode(html));
} else {
// Convert html into DOM nodes
tmp = tmp || fragment.appendChild(context.createElement("div"));
tag = (TAG_NAME_REGEXP.exec(html) || ["", ""])[1].toLowerCase();
wrap = wrapMap[tag] || wrapMap._default;
tmp.innerHTML = wrap[1] + html.replace(XHTML_TAG_REGEXP, "<$1></$2>") + wrap[2];
// Descend through wrappers to the right content
i = wrap[0];
while (i--) {
tmp = tmp.lastChild;
}
nodes = concat(nodes, tmp.childNodes);
tmp = fragment.firstChild;
tmp.textContent = "";
}
// Remove wrapper from fragment
fragment.textContent = "";
fragment.innerHTML = ""; // Clear inner HTML
forEach(nodes, function(node) {
fragment.appendChild(node);
});
return fragment;
}
function jqLiteParseHTML(html, context) {
context = context || document;
var parsed;
if ((parsed = SINGLE_TAG_REGEXP.exec(html))) {
return [context.createElement(parsed[1])];
}
if ((parsed = jqLiteBuildFragment(html, context))) {
return parsed.childNodes;
}
return [];
}
/////////////////////////////////////////////
function JQLite(element) {
if (element instanceof JQLite) {
return element;
}
var argIsString;
if (isString(element)) {
element = trim(element);
argIsString = true;
}
if (!(this instanceof JQLite)) {
if (argIsString && element.charAt(0) != '<') {
throw jqLiteMinErr('nosel', 'Looking up elements via selectors is not supported by jqLite! See: http://docs.angularjs.org/api/angular.element');
}
return new JQLite(element);
}
if (argIsString) {
jqLiteAddNodes(this, jqLiteParseHTML(element));
} else {
jqLiteAddNodes(this, element);
}
}
function jqLiteClone(element) {
return element.cloneNode(true);
}
function jqLiteDealoc(element, onlyDescendants) {
if (!onlyDescendants) jqLiteRemoveData(element);
if (element.querySelectorAll) {
var descendants = element.querySelectorAll('*');
for (var i = 0, l = descendants.length; i < l; i++) {
jqLiteRemoveData(descendants[i]);
}
}
}
function jqLiteOff(element, type, fn, unsupported) {
if (isDefined(unsupported)) throw jqLiteMinErr('offargs', 'jqLite#off() does not support the `selector` argument');
var expandoStore = jqLiteExpandoStore(element);
var events = expandoStore && expandoStore.events;
var handle = expandoStore && expandoStore.handle;
if (!handle) return; //no listeners registered
if (!type) {
for (type in events) {
if (type !== '$destroy') {
removeEventListenerFn(element, type, handle);
}
delete events[type];
}
} else {
forEach(type.split(' '), function(type) {
if (isDefined(fn)) {
var listenerFns = events[type];
arrayRemove(listenerFns || [], fn);
if (listenerFns && listenerFns.length > 0) {
return;
}
}
removeEventListenerFn(element, type, handle);
delete events[type];
});
}
}
function jqLiteRemoveData(element, name) {
var expandoId = element.ng339;
var expandoStore = expandoId && jqCache[expandoId];
if (expandoStore) {
if (name) {
delete expandoStore.data[name];
return;
}
if (expandoStore.handle) {
if (expandoStore.events.$destroy) {
expandoStore.handle({}, '$destroy');
}
jqLiteOff(element);
}
delete jqCache[expandoId];
element.ng339 = undefined; // don't delete DOM expandos. IE and Chrome don't like it
}
}
function jqLiteExpandoStore(element, createIfNecessary) {
var expandoId = element.ng339,
expandoStore = expandoId && jqCache[expandoId];
if (createIfNecessary && !expandoStore) {
element.ng339 = expandoId = jqNextId();
expandoStore = jqCache[expandoId] = {events: {}, data: {}, handle: undefined};
}
return expandoStore;
}
function jqLiteData(element, key, value) {
if (jqLiteAcceptsData(element)) {
var isSimpleSetter = isDefined(value);
var isSimpleGetter = !isSimpleSetter && key && !isObject(key);
var massGetter = !key;
var expandoStore = jqLiteExpandoStore(element, !isSimpleGetter);
var data = expandoStore && expandoStore.data;
if (isSimpleSetter) { // data('key', value)
data[key] = value;
} else {
if (massGetter) { // data()
return data;
} else {
if (isSimpleGetter) { // data('key')
// don't force creation of expandoStore if it doesn't exist yet
return data && data[key];
} else { // mass-setter: data({key1: val1, key2: val2})
extend(data, key);
}
}
}
}
}
function jqLiteHasClass(element, selector) {
if (!element.getAttribute) return false;
return ((" " + (element.getAttribute('class') || '') + " ").replace(/[\n\t]/g, " ").
indexOf(" " + selector + " ") > -1);
}
function jqLiteRemoveClass(element, cssClasses) {
if (cssClasses && element.setAttribute) {
forEach(cssClasses.split(' '), function(cssClass) {
element.setAttribute('class', trim(
(" " + (element.getAttribute('class') || '') + " ")
.replace(/[\n\t]/g, " ")
.replace(" " + trim(cssClass) + " ", " "))
);
});
}
}
function jqLiteAddClass(element, cssClasses) {
if (cssClasses && element.setAttribute) {
var existingClasses = (' ' + (element.getAttribute('class') || '') + ' ')
.replace(/[\n\t]/g, " ");
forEach(cssClasses.split(' '), function(cssClass) {
cssClass = trim(cssClass);
if (existingClasses.indexOf(' ' + cssClass + ' ') === -1) {
existingClasses += cssClass + ' ';
}
});
element.setAttribute('class', trim(existingClasses));
}
}
function jqLiteAddNodes(root, elements) {
// THIS CODE IS VERY HOT. Don't make changes without benchmarking.
if (elements) {
// if a Node (the most common case)
if (elements.nodeType) {
root[root.length++] = elements;
} else {
var length = elements.length;
// if an Array or NodeList and not a Window
if (typeof length === 'number' && elements.window !== elements) {
if (length) {
for (var i = 0; i < length; i++) {
root[root.length++] = elements[i];
}
}
} else {
root[root.length++] = elements;
}
}
}
}
function jqLiteController(element, name) {
return jqLiteInheritedData(element, '$' + (name || 'ngController') + 'Controller');
}
function jqLiteInheritedData(element, name, value) {
// if element is the document object work with the html element instead
// this makes $(document).scope() possible
if (element.nodeType == NODE_TYPE_DOCUMENT) {
element = element.documentElement;
}
var names = isArray(name) ? name : [name];
while (element) {
for (var i = 0, ii = names.length; i < ii; i++) {
if ((value = jqLite.data(element, names[i])) !== undefined) return value;
}
// If dealing with a document fragment node with a host element, and no parent, use the host
// element as the parent. This enables directives within a Shadow DOM or polyfilled Shadow DOM
// to lookup parent controllers.
element = element.parentNode || (element.nodeType === NODE_TYPE_DOCUMENT_FRAGMENT && element.host);
}
}
function jqLiteEmpty(element) {
jqLiteDealoc(element, true);
while (element.firstChild) {
element.removeChild(element.firstChild);
}
}
function jqLiteRemove(element, keepData) {
if (!keepData) jqLiteDealoc(element);
var parent = element.parentNode;
if (parent) parent.removeChild(element);
}
function jqLiteDocumentLoaded(action, win) {
win = win || window;
if (win.document.readyState === 'complete') {
// Force the action to be run async for consistent behaviour
// from the action's point of view
// i.e. it will definitely not be in a $apply
win.setTimeout(action);
} else {
// No need to unbind this handler as load is only ever called once
jqLite(win).on('load', action);
}
}
//////////////////////////////////////////
// Functions which are declared directly.
//////////////////////////////////////////
var JQLitePrototype = JQLite.prototype = {
ready: function(fn) {
var fired = false;
function trigger() {
if (fired) return;
fired = true;
fn();
}
// check if document is already loaded
if (document.readyState === 'complete') {
setTimeout(trigger);
} else {
this.on('DOMContentLoaded', trigger); // works for modern browsers and IE9
// we can not use jqLite since we are not done loading and jQuery could be loaded later.
// jshint -W064
JQLite(window).on('load', trigger); // fallback to window.onload for others
// jshint +W064
}
},
toString: function() {
var value = [];
forEach(this, function(e) { value.push('' + e);});
return '[' + value.join(', ') + ']';
},
eq: function(index) {
return (index >= 0) ? jqLite(this[index]) : jqLite(this[this.length + index]);
},
length: 0,
push: push,
sort: [].sort,
splice: [].splice
};
//////////////////////////////////////////
// Functions iterating getter/setters.
// these functions return self on setter and
// value on get.
//////////////////////////////////////////
var BOOLEAN_ATTR = {};
forEach('multiple,selected,checked,disabled,readOnly,required,open'.split(','), function(value) {
BOOLEAN_ATTR[lowercase(value)] = value;
});
var BOOLEAN_ELEMENTS = {};
forEach('input,select,option,textarea,button,form,details'.split(','), function(value) {
BOOLEAN_ELEMENTS[value] = true;
});
var ALIASED_ATTR = {
'ngMinlength': 'minlength',
'ngMaxlength': 'maxlength',
'ngMin': 'min',
'ngMax': 'max',
'ngPattern': 'pattern'
};
function getBooleanAttrName(element, name) {
// check dom last since we will most likely fail on name
var booleanAttr = BOOLEAN_ATTR[name.toLowerCase()];
// booleanAttr is here twice to minimize DOM access
return booleanAttr && BOOLEAN_ELEMENTS[nodeName_(element)] && booleanAttr;
}
function getAliasedAttrName(element, name) {
var nodeName = element.nodeName;
return (nodeName === 'INPUT' || nodeName === 'TEXTAREA') && ALIASED_ATTR[name];
}
forEach({
data: jqLiteData,
removeData: jqLiteRemoveData
}, function(fn, name) {
JQLite[name] = fn;
});
forEach({
data: jqLiteData,
inheritedData: jqLiteInheritedData,
scope: function(element) {
// Can't use jqLiteData here directly so we stay compatible with jQuery!
return jqLite.data(element, '$scope') || jqLiteInheritedData(element.parentNode || element, ['$isolateScope', '$scope']);
},
isolateScope: function(element) {
// Can't use jqLiteData here directly so we stay compatible with jQuery!
return jqLite.data(element, '$isolateScope') || jqLite.data(element, '$isolateScopeNoTemplate');
},
controller: jqLiteController,
injector: function(element) {
return jqLiteInheritedData(element, '$injector');
},
removeAttr: function(element, name) {
element.removeAttribute(name);
},
hasClass: jqLiteHasClass,
css: function(element, name, value) {
name = camelCase(name);
if (isDefined(value)) {
element.style[name] = value;
} else {
return element.style[name];
}
},
attr: function(element, name, value) {
var lowercasedName = lowercase(name);
if (BOOLEAN_ATTR[lowercasedName]) {
if (isDefined(value)) {
if (!!value) {
element[name] = true;
element.setAttribute(name, lowercasedName);
} else {
element[name] = false;
element.removeAttribute(lowercasedName);
}
} else {
return (element[name] ||
(element.attributes.getNamedItem(name) || noop).specified)
? lowercasedName
: undefined;
}
} else if (isDefined(value)) {
element.setAttribute(name, value);
} else if (element.getAttribute) {
// the extra argument "2" is to get the right thing for a.href in IE, see jQuery code
// some elements (e.g. Document) don't have get attribute, so return undefined
var ret = element.getAttribute(name, 2);
// normalize non-existing attributes to undefined (as jQuery)
return ret === null ? undefined : ret;
}
},
prop: function(element, name, value) {
if (isDefined(value)) {
element[name] = value;
} else {
return element[name];
}
},
text: (function() {
getText.$dv = '';
return getText;
function getText(element, value) {
if (isUndefined(value)) {
var nodeType = element.nodeType;
return (nodeType === NODE_TYPE_ELEMENT || nodeType === NODE_TYPE_TEXT) ? element.textContent : '';
}
element.textContent = value;
}
})(),
val: function(element, value) {
if (isUndefined(value)) {
if (element.multiple && nodeName_(element) === 'select') {
var result = [];
forEach(element.options, function(option) {
if (option.selected) {
result.push(option.value || option.text);
}
});
return result.length === 0 ? null : result;
}
return element.value;
}
element.value = value;
},
html: function(element, value) {
if (isUndefined(value)) {
return element.innerHTML;
}
jqLiteDealoc(element, true);
element.innerHTML = value;
},
empty: jqLiteEmpty
}, function(fn, name) {
/**
* Properties: writes return selection, reads return first value
*/
JQLite.prototype[name] = function(arg1, arg2) {
var i, key;
var nodeCount = this.length;
// jqLiteHasClass has only two arguments, but is a getter-only fn, so we need to special-case it
// in a way that survives minification.
// jqLiteEmpty takes no arguments but is a setter.
if (fn !== jqLiteEmpty &&
(((fn.length == 2 && (fn !== jqLiteHasClass && fn !== jqLiteController)) ? arg1 : arg2) === undefined)) {
if (isObject(arg1)) {
// we are a write, but the object properties are the key/values
for (i = 0; i < nodeCount; i++) {
if (fn === jqLiteData) {
// data() takes the whole object in jQuery
fn(this[i], arg1);
} else {
for (key in arg1) {
fn(this[i], key, arg1[key]);
}
}
}
// return self for chaining
return this;
} else {
// we are a read, so read the first child.
// TODO: do we still need this?
var value = fn.$dv;
// Only if we have $dv do we iterate over all, otherwise it is just the first element.
var jj = (value === undefined) ? Math.min(nodeCount, 1) : nodeCount;
for (var j = 0; j < jj; j++) {
var nodeValue = fn(this[j], arg1, arg2);
value = value ? value + nodeValue : nodeValue;
}
return value;
}
} else {
// we are a write, so apply to all children
for (i = 0; i < nodeCount; i++) {
fn(this[i], arg1, arg2);
}
// return self for chaining
return this;
}
};
});
function createEventHandler(element, events) {
var eventHandler = function(event, type) {
// jQuery specific api
event.isDefaultPrevented = function() {
return event.defaultPrevented;
};
var eventFns = events[type || event.type];
var eventFnsLength = eventFns ? eventFns.length : 0;
if (!eventFnsLength) return;
if (isUndefined(event.immediatePropagationStopped)) {
var originalStopImmediatePropagation = event.stopImmediatePropagation;
event.stopImmediatePropagation = function() {
event.immediatePropagationStopped = true;
if (event.stopPropagation) {
event.stopPropagation();
}
if (originalStopImmediatePropagation) {
originalStopImmediatePropagation.call(event);
}
};
}
event.isImmediatePropagationStopped = function() {
return event.immediatePropagationStopped === true;
};
// Copy event handlers in case event handlers array is modified during execution.
if ((eventFnsLength > 1)) {
eventFns = shallowCopy(eventFns);
}
for (var i = 0; i < eventFnsLength; i++) {
if (!event.isImmediatePropagationStopped()) {
eventFns[i].call(element, event);
}
}
};
// TODO: this is a hack for angularMocks/clearDataCache that makes it possible to deregister all
// events on `element`
eventHandler.elem = element;
return eventHandler;
}
//////////////////////////////////////////
// Functions iterating traversal.
// These functions chain results into a single
// selector.
//////////////////////////////////////////
forEach({
removeData: jqLiteRemoveData,
on: function jqLiteOn(element, type, fn, unsupported) {
if (isDefined(unsupported)) throw jqLiteMinErr('onargs', 'jqLite#on() does not support the `selector` or `eventData` parameters');
// Do not add event handlers to non-elements because they will not be cleaned up.
if (!jqLiteAcceptsData(element)) {
return;
}
var expandoStore = jqLiteExpandoStore(element, true);
var events = expandoStore.events;
var handle = expandoStore.handle;
if (!handle) {
handle = expandoStore.handle = createEventHandler(element, events);
}
// http://jsperf.com/string-indexof-vs-split
var types = type.indexOf(' ') >= 0 ? type.split(' ') : [type];
var i = types.length;
while (i--) {
type = types[i];
var eventFns = events[type];
if (!eventFns) {
events[type] = [];
if (type === 'mouseenter' || type === 'mouseleave') {
// Refer to jQuery's implementation of mouseenter & mouseleave
// Read about mouseenter and mouseleave:
// http://www.quirksmode.org/js/events_mouse.html#link8
jqLiteOn(element, MOUSE_EVENT_MAP[type], function(event) {
var target = this, related = event.relatedTarget;
// For mousenter/leave call the handler if related is outside the target.
// NB: No relatedTarget if the mouse left/entered the browser window
if (!related || (related !== target && !target.contains(related))) {
handle(event, type);
}
});
} else {
if (type !== '$destroy') {
addEventListenerFn(element, type, handle);
}
}
eventFns = events[type];
}
eventFns.push(fn);
}
},
off: jqLiteOff,
one: function(element, type, fn) {
element = jqLite(element);
//add the listener twice so that when it is called
//you can remove the original function and still be
//able to call element.off(ev, fn) normally
element.on(type, function onFn() {
element.off(type, fn);
element.off(type, onFn);
});
element.on(type, fn);
},
replaceWith: function(element, replaceNode) {
var index, parent = element.parentNode;
jqLiteDealoc(element);
forEach(new JQLite(replaceNode), function(node) {
if (index) {
parent.insertBefore(node, index.nextSibling);
} else {
parent.replaceChild(node, element);
}
index = node;
});
},
children: function(element) {
var children = [];
forEach(element.childNodes, function(element) {
if (element.nodeType === NODE_TYPE_ELEMENT)
children.push(element);
});
return children;
},
contents: function(element) {
return element.contentDocument || element.childNodes || [];
},
append: function(element, node) {
var nodeType = element.nodeType;
if (nodeType !== NODE_TYPE_ELEMENT && nodeType !== NODE_TYPE_DOCUMENT_FRAGMENT) return;
node = new JQLite(node);
for (var i = 0, ii = node.length; i < ii; i++) {
var child = node[i];
element.appendChild(child);
}
},
prepend: function(element, node) {
if (element.nodeType === NODE_TYPE_ELEMENT) {
var index = element.firstChild;
forEach(new JQLite(node), function(child) {
element.insertBefore(child, index);
});
}
},
wrap: function(element, wrapNode) {
wrapNode = jqLite(wrapNode).eq(0).clone()[0];
var parent = element.parentNode;
if (parent) {
parent.replaceChild(wrapNode, element);
}
wrapNode.appendChild(element);
},
remove: jqLiteRemove,
detach: function(element) {
jqLiteRemove(element, true);
},
after: function(element, newElement) {
var index = element, parent = element.parentNode;
newElement = new JQLite(newElement);
for (var i = 0, ii = newElement.length; i < ii; i++) {
var node = newElement[i];
parent.insertBefore(node, index.nextSibling);
index = node;
}
},
addClass: jqLiteAddClass,
removeClass: jqLiteRemoveClass,
toggleClass: function(element, selector, condition) {
if (selector) {
forEach(selector.split(' '), function(className) {
var classCondition = condition;
if (isUndefined(classCondition)) {
classCondition = !jqLiteHasClass(element, className);
}
(classCondition ? jqLiteAddClass : jqLiteRemoveClass)(element, className);
});
}
},
parent: function(element) {
var parent = element.parentNode;
return parent && parent.nodeType !== NODE_TYPE_DOCUMENT_FRAGMENT ? parent : null;
},
next: function(element) {
return element.nextElementSibling;
},
find: function(element, selector) {
if (element.getElementsByTagName) {
return element.getElementsByTagName(selector);
} else {
return [];
}
},
clone: jqLiteClone,
triggerHandler: function(element, event, extraParameters) {
var dummyEvent, eventFnsCopy, handlerArgs;
var eventName = event.type || event;
var expandoStore = jqLiteExpandoStore(element);
var events = expandoStore && expandoStore.events;
var eventFns = events && events[eventName];
if (eventFns) {
// Create a dummy event to pass to the handlers
dummyEvent = {
preventDefault: function() { this.defaultPrevented = true; },
isDefaultPrevented: function() { return this.defaultPrevented === true; },
stopImmediatePropagation: function() { this.immediatePropagationStopped = true; },
isImmediatePropagationStopped: function() { return this.immediatePropagationStopped === true; },
stopPropagation: noop,
type: eventName,
target: element
};
// If a custom event was provided then extend our dummy event with it
if (event.type) {
dummyEvent = extend(dummyEvent, event);
}
// Copy event handlers in case event handlers array is modified during execution.
eventFnsCopy = shallowCopy(eventFns);
handlerArgs = extraParameters ? [dummyEvent].concat(extraParameters) : [dummyEvent];
forEach(eventFnsCopy, function(fn) {
if (!dummyEvent.isImmediatePropagationStopped()) {
fn.apply(element, handlerArgs);
}
});
}
}
}, function(fn, name) {
/**
* chaining functions
*/
JQLite.prototype[name] = function(arg1, arg2, arg3) {
var value;
for (var i = 0, ii = this.length; i < ii; i++) {
if (isUndefined(value)) {
value = fn(this[i], arg1, arg2, arg3);
if (isDefined(value)) {
// any function which returns a value needs to be wrapped
value = jqLite(value);
}
} else {
jqLiteAddNodes(value, fn(this[i], arg1, arg2, arg3));
}
}
return isDefined(value) ? value : this;
};
// bind legacy bind/unbind to on/off
JQLite.prototype.bind = JQLite.prototype.on;
JQLite.prototype.unbind = JQLite.prototype.off;
});
/**
* Computes a hash of an 'obj'.
* Hash of a:
* string is string
* number is number as string
* object is either result of calling $$hashKey function on the object or uniquely generated id,
* that is also assigned to the $$hashKey property of the object.
*
* @param obj
* @returns {string} hash string such that the same input will have the same hash string.
* The resulting string key is in 'type:hashKey' format.
*/
function hashKey(obj, nextUidFn) {
var key = obj && obj.$$hashKey;
if (key) {
if (typeof key === 'function') {
key = obj.$$hashKey();
}
return key;
}
var objType = typeof obj;
if (objType == 'function' || (objType == 'object' && obj !== null)) {
key = obj.$$hashKey = objType + ':' + (nextUidFn || nextUid)();
} else {
key = objType + ':' + obj;
}
return key;
}
/**
* HashMap which can use objects as keys
*/
function HashMap(array, isolatedUid) {
if (isolatedUid) {
var uid = 0;
this.nextUid = function() {
return ++uid;
};
}
forEach(array, this.put, this);
}
HashMap.prototype = {
/**
* Store key value pair
* @param key key to store can be any type
* @param value value to store can be any type
*/
put: function(key, value) {
this[hashKey(key, this.nextUid)] = value;
},
/**
* @param key
* @returns {Object} the value for the key
*/
get: function(key) {
return this[hashKey(key, this.nextUid)];
},
/**
* Remove the key/value pair
* @param key
*/
remove: function(key) {
var value = this[key = hashKey(key, this.nextUid)];
delete this[key];
return value;
}
};
/**
* @ngdoc function
* @module ng
* @name angular.injector
* @kind function
*
* @description
* Creates an injector object that can be used for retrieving services as well as for
* dependency injection (see {@link guide/di dependency injection}).
*
* @param {Array.<string|Function>} modules A list of module functions or their aliases. See
* {@link angular.module}. The `ng` module must be explicitly added.
* @param {boolean=} [strictDi=false] Whether the injector should be in strict mode, which
* disallows argument name annotation inference.
* @returns {injector} Injector object. See {@link auto.$injector $injector}.
*
* @example
* Typical usage
* ```js
* // create an injector
* var $injector = angular.injector(['ng']);
*
* // use the injector to kick off your application
* // use the type inference to auto inject arguments, or use implicit injection
* $injector.invoke(function($rootScope, $compile, $document) {
* $compile($document)($rootScope);
* $rootScope.$digest();
* });
* ```
*
* Sometimes you want to get access to the injector of a currently running Angular app
* from outside Angular. Perhaps, you want to inject and compile some markup after the
* application has been bootstrapped. You can do this using the extra `injector()` added
* to JQuery/jqLite elements. See {@link angular.element}.
*
* *This is fairly rare but could be the case if a third party library is injecting the
* markup.*
*
* In the following example a new block of HTML containing a `ng-controller`
* directive is added to the end of the document body by JQuery. We then compile and link
* it into the current AngularJS scope.
*
* ```js
* var $div = $('<div ng-controller="MyCtrl">{{content.label}}</div>');
* $(document.body).append($div);
*
* angular.element(document).injector().invoke(function($compile) {
* var scope = angular.element($div).scope();
* $compile($div)(scope);
* });
* ```
*/
/**
* @ngdoc module
* @name auto
* @description
*
* Implicit module which gets automatically added to each {@link auto.$injector $injector}.
*/
var FN_ARGS = /^function\s*[^\(]*\(\s*([^\)]*)\)/m;
var FN_ARG_SPLIT = /,/;
var FN_ARG = /^\s*(_?)(\S+?)\1\s*$/;
var STRIP_COMMENTS = /((\/\/.*$)|(\/\*[\s\S]*?\*\/))/mg;
var $injectorMinErr = minErr('$injector');
function anonFn(fn) {
// For anonymous functions, showing at the very least the function signature can help in
// debugging.
var fnText = fn.toString().replace(STRIP_COMMENTS, ''),
args = fnText.match(FN_ARGS);
if (args) {
return 'function(' + (args[1] || '').replace(/[\s\r\n]+/, ' ') + ')';
}
return 'fn';
}
function annotate(fn, strictDi, name) {
var $inject,
fnText,
argDecl,
last;
if (typeof fn === 'function') {
if (!($inject = fn.$inject)) {
$inject = [];
if (fn.length) {
if (strictDi) {
if (!isString(name) || !name) {
name = fn.name || anonFn(fn);
}
throw $injectorMinErr('strictdi',
'{0} is not using explicit annotation and cannot be invoked in strict mode', name);
}
fnText = fn.toString().replace(STRIP_COMMENTS, '');
argDecl = fnText.match(FN_ARGS);
forEach(argDecl[1].split(FN_ARG_SPLIT), function(arg) {
arg.replace(FN_ARG, function(all, underscore, name) {
$inject.push(name);
});
});
}
fn.$inject = $inject;
}
} else if (isArray(fn)) {
last = fn.length - 1;
assertArgFn(fn[last], 'fn');
$inject = fn.slice(0, last);
} else {
assertArgFn(fn, 'fn', true);
}
return $inject;
}
///////////////////////////////////////
/**
* @ngdoc service
* @name $injector
*
* @description
*
* `$injector` is used to retrieve object instances as defined by
* {@link auto.$provide provider}, instantiate types, invoke methods,
* and load modules.
*
* The following always holds true:
*
* ```js
* var $injector = angular.injector();
* expect($injector.get('$injector')).toBe($injector);
* expect($injector.invoke(function($injector) {
* return $injector;
* })).toBe($injector);
* ```
*
* # Injection Function Annotation
*
* JavaScript does not have annotations, and annotations are needed for dependency injection. The
* following are all valid ways of annotating function with injection arguments and are equivalent.
*
* ```js
* // inferred (only works if code not minified/obfuscated)
* $injector.invoke(function(serviceA){});
*
* // annotated
* function explicit(serviceA) {};
* explicit.$inject = ['serviceA'];
* $injector.invoke(explicit);
*
* // inline
* $injector.invoke(['serviceA', function(serviceA){}]);
* ```
*
* ## Inference
*
* In JavaScript calling `toString()` on a function returns the function definition. The definition
* can then be parsed and the function arguments can be extracted. This method of discovering
* annotations is disallowed when the injector is in strict mode.
* *NOTE:* This does not work with minification, and obfuscation tools since these tools change the
* argument names.
*
* ## `$inject` Annotation
* By adding an `$inject` property onto a function the injection parameters can be specified.
*
* ## Inline
* As an array of injection names, where the last item in the array is the function to call.
*/
/**
* @ngdoc method
* @name $injector#get
*
* @description
* Return an instance of the service.
*
* @param {string} name The name of the instance to retrieve.
* @return {*} The instance.
*/
/**
* @ngdoc method
* @name $injector#invoke
*
* @description
* Invoke the method and supply the method arguments from the `$injector`.
*
* @param {!Function} fn The function to invoke. Function parameters are injected according to the
* {@link guide/di $inject Annotation} rules.
* @param {Object=} self The `this` for the invoked method.
* @param {Object=} locals Optional object. If preset then any argument names are read from this
* object first, before the `$injector` is consulted.
* @returns {*} the value returned by the invoked `fn` function.
*/
/**
* @ngdoc method
* @name $injector#has
*
* @description
* Allows the user to query if the particular service exists.
*
* @param {string} name Name of the service to query.
* @returns {boolean} `true` if injector has given service.
*/
/**
* @ngdoc method
* @name $injector#instantiate
* @description
* Create a new instance of JS type. The method takes a constructor function, invokes the new
* operator, and supplies all of the arguments to the constructor function as specified by the
* constructor annotation.
*
* @param {Function} Type Annotated constructor function.
* @param {Object=} locals Optional object. If preset then any argument names are read from this
* object first, before the `$injector` is consulted.
* @returns {Object} new instance of `Type`.
*/
/**
* @ngdoc method
* @name $injector#annotate
*
* @description
* Returns an array of service names which the function is requesting for injection. This API is
* used by the injector to determine which services need to be injected into the function when the
* function is invoked. There are three ways in which the function can be annotated with the needed
* dependencies.
*
* # Argument names
*
* The simplest form is to extract the dependencies from the arguments of the function. This is done
* by converting the function into a string using `toString()` method and extracting the argument
* names.
* ```js
* // Given
* function MyController($scope, $route) {
* // ...
* }
*
* // Then
* expect(injector.annotate(MyController)).toEqual(['$scope', '$route']);
* ```
*
* You can disallow this method by using strict injection mode.
*
* This method does not work with code minification / obfuscation. For this reason the following
* annotation strategies are supported.
*
* # The `$inject` property
*
* If a function has an `$inject` property and its value is an array of strings, then the strings
* represent names of services to be injected into the function.
* ```js
* // Given
* var MyController = function(obfuscatedScope, obfuscatedRoute) {
* // ...
* }
* // Define function dependencies
* MyController['$inject'] = ['$scope', '$route'];
*
* // Then
* expect(injector.annotate(MyController)).toEqual(['$scope', '$route']);
* ```
*
* # The array notation
*
* It is often desirable to inline Injected functions and that's when setting the `$inject` property
* is very inconvenient. In these situations using the array notation to specify the dependencies in
* a way that survives minification is a better choice:
*
* ```js
* // We wish to write this (not minification / obfuscation safe)
* injector.invoke(function($compile, $rootScope) {
* // ...
* });
*
* // We are forced to write break inlining
* var tmpFn = function(obfuscatedCompile, obfuscatedRootScope) {
* // ...
* };
* tmpFn.$inject = ['$compile', '$rootScope'];
* injector.invoke(tmpFn);
*
* // To better support inline function the inline annotation is supported
* injector.invoke(['$compile', '$rootScope', function(obfCompile, obfRootScope) {
* // ...
* }]);
*
* // Therefore
* expect(injector.annotate(
* ['$compile', '$rootScope', function(obfus_$compile, obfus_$rootScope) {}])
* ).toEqual(['$compile', '$rootScope']);
* ```
*
* @param {Function|Array.<string|Function>} fn Function for which dependent service names need to
* be retrieved as described above.
*
* @param {boolean=} [strictDi=false] Disallow argument name annotation inference.
*
* @returns {Array.<string>} The names of the services which the function requires.
*/
/**
* @ngdoc service
* @name $provide
*
* @description
*
* The {@link auto.$provide $provide} service has a number of methods for registering components
* with the {@link auto.$injector $injector}. Many of these functions are also exposed on
* {@link angular.Module}.
*
* An Angular **service** is a singleton object created by a **service factory**. These **service
* factories** are functions which, in turn, are created by a **service provider**.
* The **service providers** are constructor functions. When instantiated they must contain a
* property called `$get`, which holds the **service factory** function.
*
* When you request a service, the {@link auto.$injector $injector} is responsible for finding the
* correct **service provider**, instantiating it and then calling its `$get` **service factory**
* function to get the instance of the **service**.
*
* Often services have no configuration options and there is no need to add methods to the service
* provider. The provider will be no more than a constructor function with a `$get` property. For
* these cases the {@link auto.$provide $provide} service has additional helper methods to register
* services without specifying a provider.
*
* * {@link auto.$provide#provider provider(provider)} - registers a **service provider** with the
* {@link auto.$injector $injector}
* * {@link auto.$provide#constant constant(obj)} - registers a value/object that can be accessed by
* providers and services.
* * {@link auto.$provide#value value(obj)} - registers a value/object that can only be accessed by
* services, not providers.
* * {@link auto.$provide#factory factory(fn)} - registers a service **factory function**, `fn`,
* that will be wrapped in a **service provider** object, whose `$get` property will contain the
* given factory function.
* * {@link auto.$provide#service service(class)} - registers a **constructor function**, `class`
* that will be wrapped in a **service provider** object, whose `$get` property will instantiate
* a new object using the given constructor function.
*
* See the individual methods for more information and examples.
*/
/**
* @ngdoc method
* @name $provide#provider
* @description
*
* Register a **provider function** with the {@link auto.$injector $injector}. Provider functions
* are constructor functions, whose instances are responsible for "providing" a factory for a
* service.
*
* Service provider names start with the name of the service they provide followed by `Provider`.
* For example, the {@link ng.$log $log} service has a provider called
* {@link ng.$logProvider $logProvider}.
*
* Service provider objects can have additional methods which allow configuration of the provider
* and its service. Importantly, you can configure what kind of service is created by the `$get`
* method, or how that service will act. For example, the {@link ng.$logProvider $logProvider} has a
* method {@link ng.$logProvider#debugEnabled debugEnabled}
* which lets you specify whether the {@link ng.$log $log} service will log debug messages to the
* console or not.
*
* @param {string} name The name of the instance. NOTE: the provider will be available under `name +
'Provider'` key.
* @param {(Object|function())} provider If the provider is:
*
* - `Object`: then it should have a `$get` method. The `$get` method will be invoked using
* {@link auto.$injector#invoke $injector.invoke()} when an instance needs to be created.
* - `Constructor`: a new instance of the provider will be created using
* {@link auto.$injector#instantiate $injector.instantiate()}, then treated as `object`.
*
* @returns {Object} registered provider instance
* @example
*
* The following example shows how to create a simple event tracking service and register it using
* {@link auto.$provide#provider $provide.provider()}.
*
* ```js
* // Define the eventTracker provider
* function EventTrackerProvider() {
* var trackingUrl = '/track';
*
* // A provider method for configuring where the tracked events should been saved
* this.setTrackingUrl = function(url) {
* trackingUrl = url;
* };
*
* // The service factory function
* this.$get = ['$http', function($http) {
* var trackedEvents = {};
* return {
* // Call this to track an event
* event: function(event) {
* var count = trackedEvents[event] || 0;
* count += 1;
* trackedEvents[event] = count;
* return count;
* },
* // Call this to save the tracked events to the trackingUrl
* save: function() {
* $http.post(trackingUrl, trackedEvents);
* }
* };
* }];
* }
*
* describe('eventTracker', function() {
* var postSpy;
*
* beforeEach(module(function($provide) {
* // Register the eventTracker provider
* $provide.provider('eventTracker', EventTrackerProvider);
* }));
*
* beforeEach(module(function(eventTrackerProvider) {
* // Configure eventTracker provider
* eventTrackerProvider.setTrackingUrl('/custom-track');
* }));
*
* it('tracks events', inject(function(eventTracker) {
* expect(eventTracker.event('login')).toEqual(1);
* expect(eventTracker.event('login')).toEqual(2);
* }));
*
* it('saves to the tracking url', inject(function(eventTracker, $http) {
* postSpy = spyOn($http, 'post');
* eventTracker.event('login');
* eventTracker.save();
* expect(postSpy).toHaveBeenCalled();
* expect(postSpy.mostRecentCall.args[0]).not.toEqual('/track');
* expect(postSpy.mostRecentCall.args[0]).toEqual('/custom-track');
* expect(postSpy.mostRecentCall.args[1]).toEqual({ 'login': 1 });
* }));
* });
* ```
*/
/**
* @ngdoc method
* @name $provide#factory
* @description
*
* Register a **service factory**, which will be called to return the service instance.
* This is short for registering a service where its provider consists of only a `$get` property,
* which is the given service factory function.
* You should use {@link auto.$provide#factory $provide.factory(getFn)} if you do not need to
* configure your service in a provider.
*
* @param {string} name The name of the instance.
* @param {function()} $getFn The $getFn for the instance creation. Internally this is a short hand
* for `$provide.provider(name, {$get: $getFn})`.
* @returns {Object} registered provider instance
*
* @example
* Here is an example of registering a service
* ```js
* $provide.factory('ping', ['$http', function($http) {
* return function ping() {
* return $http.send('/ping');
* };
* }]);
* ```
* You would then inject and use this service like this:
* ```js
* someModule.controller('Ctrl', ['ping', function(ping) {
* ping();
* }]);
* ```
*/
/**
* @ngdoc method
* @name $provide#service
* @description
*
* Register a **service constructor**, which will be invoked with `new` to create the service
* instance.
* This is short for registering a service where its provider's `$get` property is the service
* constructor function that will be used to instantiate the service instance.
*
* You should use {@link auto.$provide#service $provide.service(class)} if you define your service
* as a type/class.
*
* @param {string} name The name of the instance.
* @param {Function} constructor A class (constructor function) that will be instantiated.
* @returns {Object} registered provider instance
*
* @example
* Here is an example of registering a service using
* {@link auto.$provide#service $provide.service(class)}.
* ```js
* var Ping = function($http) {
* this.$http = $http;
* };
*
* Ping.$inject = ['$http'];
*
* Ping.prototype.send = function() {
* return this.$http.get('/ping');
* };
* $provide.service('ping', Ping);
* ```
* You would then inject and use this service like this:
* ```js
* someModule.controller('Ctrl', ['ping', function(ping) {
* ping.send();
* }]);
* ```
*/
/**
* @ngdoc method
* @name $provide#value
* @description
*
* Register a **value service** with the {@link auto.$injector $injector}, such as a string, a
* number, an array, an object or a function. This is short for registering a service where its
* provider's `$get` property is a factory function that takes no arguments and returns the **value
* service**.
*
* Value services are similar to constant services, except that they cannot be injected into a
* module configuration function (see {@link angular.Module#config}) but they can be overridden by
* an Angular
* {@link auto.$provide#decorator decorator}.
*
* @param {string} name The name of the instance.
* @param {*} value The value.
* @returns {Object} registered provider instance
*
* @example
* Here are some examples of creating value services.
* ```js
* $provide.value('ADMIN_USER', 'admin');
*
* $provide.value('RoleLookup', { admin: 0, writer: 1, reader: 2 });
*
* $provide.value('halfOf', function(value) {
* return value / 2;
* });
* ```
*/
/**
* @ngdoc method
* @name $provide#constant
* @description
*
* Register a **constant service**, such as a string, a number, an array, an object or a function,
* with the {@link auto.$injector $injector}. Unlike {@link auto.$provide#value value} it can be
* injected into a module configuration function (see {@link angular.Module#config}) and it cannot
* be overridden by an Angular {@link auto.$provide#decorator decorator}.
*
* @param {string} name The name of the constant.
* @param {*} value The constant value.
* @returns {Object} registered instance
*
* @example
* Here a some examples of creating constants:
* ```js
* $provide.constant('SHARD_HEIGHT', 306);
*
* $provide.constant('MY_COLOURS', ['red', 'blue', 'grey']);
*
* $provide.constant('double', function(value) {
* return value * 2;
* });
* ```
*/
/**
* @ngdoc method
* @name $provide#decorator
* @description
*
* Register a **service decorator** with the {@link auto.$injector $injector}. A service decorator
* intercepts the creation of a service, allowing it to override or modify the behaviour of the
* service. The object returned by the decorator may be the original service, or a new service
* object which replaces or wraps and delegates to the original service.
*
* @param {string} name The name of the service to decorate.
* @param {function()} decorator This function will be invoked when the service needs to be
* instantiated and should return the decorated service instance. The function is called using
* the {@link auto.$injector#invoke injector.invoke} method and is therefore fully injectable.
* Local injection arguments:
*
* * `$delegate` - The original service instance, which can be monkey patched, configured,
* decorated or delegated to.
*
* @example
* Here we decorate the {@link ng.$log $log} service to convert warnings to errors by intercepting
* calls to {@link ng.$log#error $log.warn()}.
* ```js
* $provide.decorator('$log', ['$delegate', function($delegate) {
* $delegate.warn = $delegate.error;
* return $delegate;
* }]);
* ```
*/
function createInjector(modulesToLoad, strictDi) {
strictDi = (strictDi === true);
var INSTANTIATING = {},
providerSuffix = 'Provider',
path = [],
loadedModules = new HashMap([], true),
providerCache = {
$provide: {
provider: supportObject(provider),
factory: supportObject(factory),
service: supportObject(service),
value: supportObject(value),
constant: supportObject(constant),
decorator: decorator
}
},
providerInjector = (providerCache.$injector =
createInternalInjector(providerCache, function() {
throw $injectorMinErr('unpr', "Unknown provider: {0}", path.join(' <- '));
})),
instanceCache = {},
instanceInjector = (instanceCache.$injector =
createInternalInjector(instanceCache, function(servicename) {
var provider = providerInjector.get(servicename + providerSuffix);
return instanceInjector.invoke(provider.$get, provider, undefined, servicename);
}));
forEach(loadModules(modulesToLoad), function(fn) { instanceInjector.invoke(fn || noop); });
return instanceInjector;
////////////////////////////////////
// $provider
////////////////////////////////////
function supportObject(delegate) {
return function(key, value) {
if (isObject(key)) {
forEach(key, reverseParams(delegate));
} else {
return delegate(key, value);
}
};
}
function provider(name, provider_) {
assertNotHasOwnProperty(name, 'service');
if (isFunction(provider_) || isArray(provider_)) {
provider_ = providerInjector.instantiate(provider_);
}
if (!provider_.$get) {
throw $injectorMinErr('pget', "Provider '{0}' must define $get factory method.", name);
}
return providerCache[name + providerSuffix] = provider_;
}
function enforceReturnValue(name, factory) {
return function enforcedReturnValue() {
var result = instanceInjector.invoke(factory, this, undefined, name);
if (isUndefined(result)) {
throw $injectorMinErr('undef', "Provider '{0}' must return a value from $get factory method.", name);
}
return result;
};
}
function factory(name, factoryFn, enforce) {
return provider(name, {
$get: enforce !== false ? enforceReturnValue(name, factoryFn) : factoryFn
});
}
function service(name, constructor) {
return factory(name, ['$injector', function($injector) {
return $injector.instantiate(constructor);
}]);
}
function value(name, val) { return factory(name, valueFn(val), false); }
function constant(name, value) {
assertNotHasOwnProperty(name, 'constant');
providerCache[name] = value;
instanceCache[name] = value;
}
function decorator(serviceName, decorFn) {
var origProvider = providerInjector.get(serviceName + providerSuffix),
orig$get = origProvider.$get;
origProvider.$get = function() {
var origInstance = instanceInjector.invoke(orig$get, origProvider);
return instanceInjector.invoke(decorFn, null, {$delegate: origInstance});
};
}
////////////////////////////////////
// Module Loading
////////////////////////////////////
function loadModules(modulesToLoad) {
var runBlocks = [], moduleFn;
forEach(modulesToLoad, function(module) {
if (loadedModules.get(module)) return;
loadedModules.put(module, true);
function runInvokeQueue(queue) {
var i, ii;
for (i = 0, ii = queue.length; i < ii; i++) {
var invokeArgs = queue[i],
provider = providerInjector.get(invokeArgs[0]);
provider[invokeArgs[1]].apply(provider, invokeArgs[2]);
}
}
try {
if (isString(module)) {
moduleFn = angularModule(module);
runBlocks = runBlocks.concat(loadModules(moduleFn.requires)).concat(moduleFn._runBlocks);
runInvokeQueue(moduleFn._invokeQueue);
runInvokeQueue(moduleFn._configBlocks);
} else if (isFunction(module)) {
runBlocks.push(providerInjector.invoke(module));
} else if (isArray(module)) {
runBlocks.push(providerInjector.invoke(module));
} else {
assertArgFn(module, 'module');
}
} catch (e) {
if (isArray(module)) {
module = module[module.length - 1];
}
if (e.message && e.stack && e.stack.indexOf(e.message) == -1) {
// Safari & FF's stack traces don't contain error.message content
// unlike those of Chrome and IE
// So if stack doesn't contain message, we create a new string that contains both.
// Since error.stack is read-only in Safari, I'm overriding e and not e.stack here.
/* jshint -W022 */
e = e.message + '\n' + e.stack;
}
throw $injectorMinErr('modulerr', "Failed to instantiate module {0} due to:\n{1}",
module, e.stack || e.message || e);
}
});
return runBlocks;
}
////////////////////////////////////
// internal Injector
////////////////////////////////////
function createInternalInjector(cache, factory) {
function getService(serviceName) {
if (cache.hasOwnProperty(serviceName)) {
if (cache[serviceName] === INSTANTIATING) {
throw $injectorMinErr('cdep', 'Circular dependency found: {0}',
serviceName + ' <- ' + path.join(' <- '));
}
return cache[serviceName];
} else {
try {
path.unshift(serviceName);
cache[serviceName] = INSTANTIATING;
return cache[serviceName] = factory(serviceName);
} catch (err) {
if (cache[serviceName] === INSTANTIATING) {
delete cache[serviceName];
}
throw err;
} finally {
path.shift();
}
}
}
function invoke(fn, self, locals, serviceName) {
if (typeof locals === 'string') {
serviceName = locals;
locals = null;
}
var args = [],
$inject = annotate(fn, strictDi, serviceName),
length, i,
key;
for (i = 0, length = $inject.length; i < length; i++) {
key = $inject[i];
if (typeof key !== 'string') {
throw $injectorMinErr('itkn',
'Incorrect injection token! Expected service name as string, got {0}', key);
}
args.push(
locals && locals.hasOwnProperty(key)
? locals[key]
: getService(key)
);
}
if (isArray(fn)) {
fn = fn[length];
}
// http://jsperf.com/angularjs-invoke-apply-vs-switch
// #5388
return fn.apply(self, args);
}
function instantiate(Type, locals, serviceName) {
// Check if Type is annotated and use just the given function at n-1 as parameter
// e.g. someModule.factory('greeter', ['$window', function(renamed$window) {}]);
// Object creation: http://jsperf.com/create-constructor/2
var instance = Object.create((isArray(Type) ? Type[Type.length - 1] : Type).prototype);
var returnedValue = invoke(Type, instance, locals, serviceName);
return isObject(returnedValue) || isFunction(returnedValue) ? returnedValue : instance;
}
return {
invoke: invoke,
instantiate: instantiate,
get: getService,
annotate: annotate,
has: function(name) {
return providerCache.hasOwnProperty(name + providerSuffix) || cache.hasOwnProperty(name);
}
};
}
}
createInjector.$$annotate = annotate;
/**
* @ngdoc provider
* @name $anchorScrollProvider
*
* @description
* Use `$anchorScrollProvider` to disable automatic scrolling whenever
* {@link ng.$location#hash $location.hash()} changes.
*/
function $AnchorScrollProvider() {
var autoScrollingEnabled = true;
/**
* @ngdoc method
* @name $anchorScrollProvider#disableAutoScrolling
*
* @description
* By default, {@link ng.$anchorScroll $anchorScroll()} will automatically detect changes to
* {@link ng.$location#hash $location.hash()} and scroll to the element matching the new hash.<br />
* Use this method to disable automatic scrolling.
*
* If automatic scrolling is disabled, one must explicitly call
* {@link ng.$anchorScroll $anchorScroll()} in order to scroll to the element related to the
* current hash.
*/
this.disableAutoScrolling = function() {
autoScrollingEnabled = false;
};
/**
* @ngdoc service
* @name $anchorScroll
* @kind function
* @requires $window
* @requires $location
* @requires $rootScope
*
* @description
* When called, it checks the current value of {@link ng.$location#hash $location.hash()} and
* scrolls to the related element, according to the rules specified in the
* [Html5 spec](http://dev.w3.org/html5/spec/Overview.html#the-indicated-part-of-the-document).
*
* It also watches the {@link ng.$location#hash $location.hash()} and automatically scrolls to
* match any anchor whenever it changes. This can be disabled by calling
* {@link ng.$anchorScrollProvider#disableAutoScrolling $anchorScrollProvider.disableAutoScrolling()}.
*
* Additionally, you can use its {@link ng.$anchorScroll#yOffset yOffset} property to specify a
* vertical scroll-offset (either fixed or dynamic).
*
* @property {(number|function|jqLite)} yOffset
* If set, specifies a vertical scroll-offset. This is often useful when there are fixed
* positioned elements at the top of the page, such as navbars, headers etc.
*
* `yOffset` can be specified in various ways:
* - **number**: A fixed number of pixels to be used as offset.<br /><br />
* - **function**: A getter function called everytime `$anchorScroll()` is executed. Must return
* a number representing the offset (in pixels).<br /><br />
* - **jqLite**: A jqLite/jQuery element to be used for specifying the offset. The distance from
* the top of the page to the element's bottom will be used as offset.<br />
* **Note**: The element will be taken into account only as long as its `position` is set to
* `fixed`. This option is useful, when dealing with responsive navbars/headers that adjust
* their height and/or positioning according to the viewport's size.
*
* <br />
* <div class="alert alert-warning">
* In order for `yOffset` to work properly, scrolling should take place on the document's root and
* not some child element.
* </div>
*
* @example
<example module="anchorScrollExample">
<file name="index.html">
<div id="scrollArea" ng-controller="ScrollController">
<a ng-click="gotoBottom()">Go to bottom</a>
<a id="bottom"></a> You're at the bottom!
</div>
</file>
<file name="script.js">
angular.module('anchorScrollExample', [])
.controller('ScrollController', ['$scope', '$location', '$anchorScroll',
function ($scope, $location, $anchorScroll) {
$scope.gotoBottom = function() {
// set the location.hash to the id of
// the element you wish to scroll to.
$location.hash('bottom');
// call $anchorScroll()
$anchorScroll();
};
}]);
</file>
<file name="style.css">
#scrollArea {
height: 280px;
overflow: auto;
}
#bottom {
display: block;
margin-top: 2000px;
}
</file>
</example>
*
* <hr />
* The example below illustrates the use of a vertical scroll-offset (specified as a fixed value).
* See {@link ng.$anchorScroll#yOffset $anchorScroll.yOffset} for more details.
*
* @example
<example module="anchorScrollOffsetExample">
<file name="index.html">
<div class="fixed-header" ng-controller="headerCtrl">
<a href="" ng-click="gotoAnchor(x)" ng-repeat="x in [1,2,3,4,5]">
Go to anchor {{x}}
</a>
</div>
<div id="anchor{{x}}" class="anchor" ng-repeat="x in [1,2,3,4,5]">
Anchor {{x}} of 5
</div>
</file>
<file name="script.js">
angular.module('anchorScrollOffsetExample', [])
.run(['$anchorScroll', function($anchorScroll) {
$anchorScroll.yOffset = 50; // always scroll by 50 extra pixels
}])
.controller('headerCtrl', ['$anchorScroll', '$location', '$scope',
function ($anchorScroll, $location, $scope) {
$scope.gotoAnchor = function(x) {
var newHash = 'anchor' + x;
if ($location.hash() !== newHash) {
// set the $location.hash to `newHash` and
// $anchorScroll will automatically scroll to it
$location.hash('anchor' + x);
} else {
// call $anchorScroll() explicitly,
// since $location.hash hasn't changed
$anchorScroll();
}
};
}
]);
</file>
<file name="style.css">
body {
padding-top: 50px;
}
.anchor {
border: 2px dashed DarkOrchid;
padding: 10px 10px 200px 10px;
}
.fixed-header {
background-color: rgba(0, 0, 0, 0.2);
height: 50px;
position: fixed;
top: 0; left: 0; right: 0;
}
.fixed-header > a {
display: inline-block;
margin: 5px 15px;
}
</file>
</example>
*/
this.$get = ['$window', '$location', '$rootScope', function($window, $location, $rootScope) {
var document = $window.document;
// Helper function to get first anchor from a NodeList
// (using `Array#some()` instead of `angular#forEach()` since it's more performant
// and working in all supported browsers.)
function getFirstAnchor(list) {
var result = null;
Array.prototype.some.call(list, function(element) {
if (nodeName_(element) === 'a') {
result = element;
return true;
}
});
return result;
}
function getYOffset() {
var offset = scroll.yOffset;
if (isFunction(offset)) {
offset = offset();
} else if (isElement(offset)) {
var elem = offset[0];
var style = $window.getComputedStyle(elem);
if (style.position !== 'fixed') {
offset = 0;
} else {
offset = elem.getBoundingClientRect().bottom;
}
} else if (!isNumber(offset)) {
offset = 0;
}
return offset;
}
function scrollTo(elem) {
if (elem) {
elem.scrollIntoView();
var offset = getYOffset();
if (offset) {
// `offset` is the number of pixels we should scroll UP in order to align `elem` properly.
// This is true ONLY if the call to `elem.scrollIntoView()` initially aligns `elem` at the
// top of the viewport.
//
// IF the number of pixels from the top of `elem` to the end of the page's content is less
// than the height of the viewport, then `elem.scrollIntoView()` will align the `elem` some
// way down the page.
//
// This is often the case for elements near the bottom of the page.
//
// In such cases we do not need to scroll the whole `offset` up, just the difference between
// the top of the element and the offset, which is enough to align the top of `elem` at the
// desired position.
var elemTop = elem.getBoundingClientRect().top;
$window.scrollBy(0, elemTop - offset);
}
} else {
$window.scrollTo(0, 0);
}
}
function scroll() {
var hash = $location.hash(), elm;
// empty hash, scroll to the top of the page
if (!hash) scrollTo(null);
// element with given id
else if ((elm = document.getElementById(hash))) scrollTo(elm);
// first anchor with given name :-D
else if ((elm = getFirstAnchor(document.getElementsByName(hash)))) scrollTo(elm);
// no element and hash == 'top', scroll to the top of the page
else if (hash === 'top') scrollTo(null);
}
// does not scroll when user clicks on anchor link that is currently on
// (no url change, no $location.hash() change), browser native does scroll
if (autoScrollingEnabled) {
$rootScope.$watch(function autoScrollWatch() {return $location.hash();},
function autoScrollWatchAction(newVal, oldVal) {
// skip the initial scroll if $location.hash is empty
if (newVal === oldVal && newVal === '') return;
jqLiteDocumentLoaded(function() {
$rootScope.$evalAsync(scroll);
});
});
}
return scroll;
}];
}
var $animateMinErr = minErr('$animate');
/**
* @ngdoc provider
* @name $animateProvider
*
* @description
* Default implementation of $animate that doesn't perform any animations, instead just
* synchronously performs DOM
* updates and calls done() callbacks.
*
* In order to enable animations the ngAnimate module has to be loaded.
*
* To see the functional implementation check out src/ngAnimate/animate.js
*/
var $AnimateProvider = ['$provide', function($provide) {
this.$$selectors = {};
/**
* @ngdoc method
* @name $animateProvider#register
*
* @description
* Registers a new injectable animation factory function. The factory function produces the
* animation object which contains callback functions for each event that is expected to be
* animated.
*
* * `eventFn`: `function(Element, doneFunction)` The element to animate, the `doneFunction`
* must be called once the element animation is complete. If a function is returned then the
* animation service will use this function to cancel the animation whenever a cancel event is
* triggered.
*
*
* ```js
* return {
* eventFn : function(element, done) {
* //code to run the animation
* //once complete, then run done()
* return function cancellationFunction() {
* //code to cancel the animation
* }
* }
* }
* ```
*
* @param {string} name The name of the animation.
* @param {Function} factory The factory function that will be executed to return the animation
* object.
*/
this.register = function(name, factory) {
var key = name + '-animation';
if (name && name.charAt(0) != '.') throw $animateMinErr('notcsel',
"Expecting class selector starting with '.' got '{0}'.", name);
this.$$selectors[name.substr(1)] = key;
$provide.factory(key, factory);
};
/**
* @ngdoc method
* @name $animateProvider#classNameFilter
*
* @description
* Sets and/or returns the CSS class regular expression that is checked when performing
* an animation. Upon bootstrap the classNameFilter value is not set at all and will
* therefore enable $animate to attempt to perform an animation on any element.
* When setting the classNameFilter value, animations will only be performed on elements
* that successfully match the filter expression. This in turn can boost performance
* for low-powered devices as well as applications containing a lot of structural operations.
* @param {RegExp=} expression The className expression which will be checked against all animations
* @return {RegExp} The current CSS className expression value. If null then there is no expression value
*/
this.classNameFilter = function(expression) {
if (arguments.length === 1) {
this.$$classNameFilter = (expression instanceof RegExp) ? expression : null;
}
return this.$$classNameFilter;
};
this.$get = ['$$q', '$$asyncCallback', '$rootScope', function($$q, $$asyncCallback, $rootScope) {
var currentDefer;
function runAnimationPostDigest(fn) {
var cancelFn, defer = $$q.defer();
defer.promise.$$cancelFn = function ngAnimateMaybeCancel() {
cancelFn && cancelFn();
};
$rootScope.$$postDigest(function ngAnimatePostDigest() {
cancelFn = fn(function ngAnimateNotifyComplete() {
defer.resolve();
});
});
return defer.promise;
}
function resolveElementClasses(element, classes) {
var toAdd = [], toRemove = [];
var hasClasses = createMap();
forEach((element.attr('class') || '').split(/\s+/), function(className) {
hasClasses[className] = true;
});
forEach(classes, function(status, className) {
var hasClass = hasClasses[className];
// If the most recent class manipulation (via $animate) was to remove the class, and the
// element currently has the class, the class is scheduled for removal. Otherwise, if
// the most recent class manipulation (via $animate) was to add the class, and the
// element does not currently have the class, the class is scheduled to be added.
if (status === false && hasClass) {
toRemove.push(className);
} else if (status === true && !hasClass) {
toAdd.push(className);
}
});
return (toAdd.length + toRemove.length) > 0 &&
[toAdd.length ? toAdd : null, toRemove.length ? toRemove : null];
}
function cachedClassManipulation(cache, classes, op) {
for (var i=0, ii = classes.length; i < ii; ++i) {
var className = classes[i];
cache[className] = op;
}
}
function asyncPromise() {
// only serve one instance of a promise in order to save CPU cycles
if (!currentDefer) {
currentDefer = $$q.defer();
$$asyncCallback(function() {
currentDefer.resolve();
currentDefer = null;
});
}
return currentDefer.promise;
}
function applyStyles(element, options) {
if (angular.isObject(options)) {
var styles = extend(options.from || {}, options.to || {});
element.css(styles);
}
}
/**
*
* @ngdoc service
* @name $animate
* @description The $animate service provides rudimentary DOM manipulation functions to
* insert, remove and move elements within the DOM, as well as adding and removing classes.
* This service is the core service used by the ngAnimate $animator service which provides
* high-level animation hooks for CSS and JavaScript.
*
* $animate is available in the AngularJS core, however, the ngAnimate module must be included
* to enable full out animation support. Otherwise, $animate will only perform simple DOM
* manipulation operations.
*
* To learn more about enabling animation support, click here to visit the {@link ngAnimate
* ngAnimate module page} as well as the {@link ngAnimate.$animate ngAnimate $animate service
* page}.
*/
return {
animate: function(element, from, to) {
applyStyles(element, { from: from, to: to });
return asyncPromise();
},
/**
*
* @ngdoc method
* @name $animate#enter
* @kind function
* @description Inserts the element into the DOM either after the `after` element or
* as the first child within the `parent` element. When the function is called a promise
* is returned that will be resolved at a later time.
* @param {DOMElement} element the element which will be inserted into the DOM
* @param {DOMElement} parent the parent element which will append the element as
* a child (if the after element is not present)
* @param {DOMElement} after the sibling element which will append the element
* after itself
* @param {object=} options an optional collection of styles that will be applied to the element.
* @return {Promise} the animation callback promise
*/
enter: function(element, parent, after, options) {
applyStyles(element, options);
after ? after.after(element)
: parent.prepend(element);
return asyncPromise();
},
/**
*
* @ngdoc method
* @name $animate#leave
* @kind function
* @description Removes the element from the DOM. When the function is called a promise
* is returned that will be resolved at a later time.
* @param {DOMElement} element the element which will be removed from the DOM
* @param {object=} options an optional collection of options that will be applied to the element.
* @return {Promise} the animation callback promise
*/
leave: function(element, options) {
element.remove();
return asyncPromise();
},
/**
*
* @ngdoc method
* @name $animate#move
* @kind function
* @description Moves the position of the provided element within the DOM to be placed
* either after the `after` element or inside of the `parent` element. When the function
* is called a promise is returned that will be resolved at a later time.
*
* @param {DOMElement} element the element which will be moved around within the
* DOM
* @param {DOMElement} parent the parent element where the element will be
* inserted into (if the after element is not present)
* @param {DOMElement} after the sibling element where the element will be
* positioned next to
* @param {object=} options an optional collection of options that will be applied to the element.
* @return {Promise} the animation callback promise
*/
move: function(element, parent, after, options) {
// Do not remove element before insert. Removing will cause data associated with the
// element to be dropped. Insert will implicitly do the remove.
return this.enter(element, parent, after, options);
},
/**
*
* @ngdoc method
* @name $animate#addClass
* @kind function
* @description Adds the provided className CSS class value to the provided element.
* When the function is called a promise is returned that will be resolved at a later time.
* @param {DOMElement} element the element which will have the className value
* added to it
* @param {string} className the CSS class which will be added to the element
* @param {object=} options an optional collection of options that will be applied to the element.
* @return {Promise} the animation callback promise
*/
addClass: function(element, className, options) {
return this.setClass(element, className, [], options);
},
$$addClassImmediately: function(element, className, options) {
element = jqLite(element);
className = !isString(className)
? (isArray(className) ? className.join(' ') : '')
: className;
forEach(element, function(element) {
jqLiteAddClass(element, className);
});
applyStyles(element, options);
return asyncPromise();
},
/**
*
* @ngdoc method
* @name $animate#removeClass
* @kind function
* @description Removes the provided className CSS class value from the provided element.
* When the function is called a promise is returned that will be resolved at a later time.
* @param {DOMElement} element the element which will have the className value
* removed from it
* @param {string} className the CSS class which will be removed from the element
* @param {object=} options an optional collection of options that will be applied to the element.
* @return {Promise} the animation callback promise
*/
removeClass: function(element, className, options) {
return this.setClass(element, [], className, options);
},
$$removeClassImmediately: function(element, className, options) {
element = jqLite(element);
className = !isString(className)
? (isArray(className) ? className.join(' ') : '')
: className;
forEach(element, function(element) {
jqLiteRemoveClass(element, className);
});
applyStyles(element, options);
return asyncPromise();
},
/**
*
* @ngdoc method
* @name $animate#setClass
* @kind function
* @description Adds and/or removes the given CSS classes to and from the element.
* When the function is called a promise is returned that will be resolved at a later time.
* @param {DOMElement} element the element which will have its CSS classes changed
* removed from it
* @param {string} add the CSS classes which will be added to the element
* @param {string} remove the CSS class which will be removed from the element
* @param {object=} options an optional collection of options that will be applied to the element.
* @return {Promise} the animation callback promise
*/
setClass: function(element, add, remove, options) {
var self = this;
var STORAGE_KEY = '$$animateClasses';
var createdCache = false;
element = jqLite(element);
var cache = element.data(STORAGE_KEY);
if (!cache) {
cache = {
classes: {},
options: options
};
createdCache = true;
} else if (options && cache.options) {
cache.options = angular.extend(cache.options || {}, options);
}
var classes = cache.classes;
add = isArray(add) ? add : add.split(' ');
remove = isArray(remove) ? remove : remove.split(' ');
cachedClassManipulation(classes, add, true);
cachedClassManipulation(classes, remove, false);
if (createdCache) {
cache.promise = runAnimationPostDigest(function(done) {
var cache = element.data(STORAGE_KEY);
element.removeData(STORAGE_KEY);
// in the event that the element is removed before postDigest
// is run then the cache will be undefined and there will be
// no need anymore to add or remove and of the element classes
if (cache) {
var classes = resolveElementClasses(element, cache.classes);
if (classes) {
self.$$setClassImmediately(element, classes[0], classes[1], cache.options);
}
}
done();
});
element.data(STORAGE_KEY, cache);
}
return cache.promise;
},
$$setClassImmediately: function(element, add, remove, options) {
add && this.$$addClassImmediately(element, add);
remove && this.$$removeClassImmediately(element, remove);
applyStyles(element, options);
return asyncPromise();
},
enabled: noop,
cancel: noop
};
}];
}];
function $$AsyncCallbackProvider() {
this.$get = ['$$rAF', '$timeout', function($$rAF, $timeout) {
return $$rAF.supported
? function(fn) { return $$rAF(fn); }
: function(fn) {
return $timeout(fn, 0, false);
};
}];
}
/* global stripHash: true */
/**
* ! This is a private undocumented service !
*
* @name $browser
* @requires $log
* @description
* This object has two goals:
*
* - hide all the global state in the browser caused by the window object
* - abstract away all the browser specific features and inconsistencies
*
* For tests we provide {@link ngMock.$browser mock implementation} of the `$browser`
* service, which can be used for convenient testing of the application without the interaction with
* the real browser apis.
*/
/**
* @param {object} window The global window object.
* @param {object} document jQuery wrapped document.
* @param {object} $log window.console or an object with the same interface.
* @param {object} $sniffer $sniffer service
*/
function Browser(window, document, $log, $sniffer) {
var self = this,
rawDocument = document[0],
location = window.location,
history = window.history,
setTimeout = window.setTimeout,
clearTimeout = window.clearTimeout,
pendingDeferIds = {};
self.isMock = false;
var outstandingRequestCount = 0;
var outstandingRequestCallbacks = [];
// TODO(vojta): remove this temporary api
self.$$completeOutstandingRequest = completeOutstandingRequest;
self.$$incOutstandingRequestCount = function() { outstandingRequestCount++; };
/**
* Executes the `fn` function(supports currying) and decrements the `outstandingRequestCallbacks`
* counter. If the counter reaches 0, all the `outstandingRequestCallbacks` are executed.
*/
function completeOutstandingRequest(fn) {
try {
fn.apply(null, sliceArgs(arguments, 1));
} finally {
outstandingRequestCount--;
if (outstandingRequestCount === 0) {
while (outstandingRequestCallbacks.length) {
try {
outstandingRequestCallbacks.pop()();
} catch (e) {
$log.error(e);
}
}
}
}
}
/**
* @private
* Note: this method is used only by scenario runner
* TODO(vojta): prefix this method with $$ ?
* @param {function()} callback Function that will be called when no outstanding request
*/
self.notifyWhenNoOutstandingRequests = function(callback) {
// force browser to execute all pollFns - this is needed so that cookies and other pollers fire
// at some deterministic time in respect to the test runner's actions. Leaving things up to the
// regular poller would result in flaky tests.
forEach(pollFns, function(pollFn) { pollFn(); });
if (outstandingRequestCount === 0) {
callback();
} else {
outstandingRequestCallbacks.push(callback);
}
};
//////////////////////////////////////////////////////////////
// Poll Watcher API
//////////////////////////////////////////////////////////////
var pollFns = [],
pollTimeout;
/**
* @name $browser#addPollFn
*
* @param {function()} fn Poll function to add
*
* @description
* Adds a function to the list of functions that poller periodically executes,
* and starts polling if not started yet.
*
* @returns {function()} the added function
*/
self.addPollFn = function(fn) {
if (isUndefined(pollTimeout)) startPoller(100, setTimeout);
pollFns.push(fn);
return fn;
};
/**
* @param {number} interval How often should browser call poll functions (ms)
* @param {function()} setTimeout Reference to a real or fake `setTimeout` function.
*
* @description
* Configures the poller to run in the specified intervals, using the specified
* setTimeout fn and kicks it off.
*/
function startPoller(interval, setTimeout) {
(function check() {
forEach(pollFns, function(pollFn) { pollFn(); });
pollTimeout = setTimeout(check, interval);
})();
}
//////////////////////////////////////////////////////////////
// URL API
//////////////////////////////////////////////////////////////
var cachedState, lastHistoryState,
lastBrowserUrl = location.href,
baseElement = document.find('base'),
reloadLocation = null;
cacheState();
lastHistoryState = cachedState;
/**
* @name $browser#url
*
* @description
* GETTER:
* Without any argument, this method just returns current value of location.href.
*
* SETTER:
* With at least one argument, this method sets url to new value.
* If html5 history api supported, pushState/replaceState is used, otherwise
* location.href/location.replace is used.
* Returns its own instance to allow chaining
*
* NOTE: this api is intended for use only by the $location service. Please use the
* {@link ng.$location $location service} to change url.
*
* @param {string} url New url (when used as setter)
* @param {boolean=} replace Should new url replace current history record?
* @param {object=} state object to use with pushState/replaceState
*/
self.url = function(url, replace, state) {
// In modern browsers `history.state` is `null` by default; treating it separately
// from `undefined` would cause `$browser.url('/foo')` to change `history.state`
// to undefined via `pushState`. Instead, let's change `undefined` to `null` here.
if (isUndefined(state)) {
state = null;
}
// Android Browser BFCache causes location, history reference to become stale.
if (location !== window.location) location = window.location;
if (history !== window.history) history = window.history;
// setter
if (url) {
var sameState = lastHistoryState === state;
// Don't change anything if previous and current URLs and states match. This also prevents
// IE<10 from getting into redirect loop when in LocationHashbangInHtml5Url mode.
// See https://github.com/angular/angular.js/commit/ffb2701
if (lastBrowserUrl === url && (!$sniffer.history || sameState)) {
return self;
}
var sameBase = lastBrowserUrl && stripHash(lastBrowserUrl) === stripHash(url);
lastBrowserUrl = url;
lastHistoryState = state;
// Don't use history API if only the hash changed
// due to a bug in IE10/IE11 which leads
// to not firing a `hashchange` nor `popstate` event
// in some cases (see #9143).
if ($sniffer.history && (!sameBase || !sameState)) {
history[replace ? 'replaceState' : 'pushState'](state, '', url);
cacheState();
// Do the assignment again so that those two variables are referentially identical.
lastHistoryState = cachedState;
} else {
if (!sameBase) {
reloadLocation = url;
}
if (replace) {
location.replace(url);
} else {
location.href = url;
}
}
return self;
// getter
} else {
// - reloadLocation is needed as browsers don't allow to read out
// the new location.href if a reload happened.
// - the replacement is a workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=407172
return reloadLocation || location.href.replace(/%27/g,"'");
}
};
/**
* @name $browser#state
*
* @description
* This method is a getter.
*
* Return history.state or null if history.state is undefined.
*
* @returns {object} state
*/
self.state = function() {
return cachedState;
};
var urlChangeListeners = [],
urlChangeInit = false;
function cacheStateAndFireUrlChange() {
cacheState();
fireUrlChange();
}
// This variable should be used *only* inside the cacheState function.
var lastCachedState = null;
function cacheState() {
// This should be the only place in $browser where `history.state` is read.
cachedState = window.history.state;
cachedState = isUndefined(cachedState) ? null : cachedState;
// Prevent callbacks fo fire twice if both hashchange & popstate were fired.
if (equals(cachedState, lastCachedState)) {
cachedState = lastCachedState;
}
lastCachedState = cachedState;
}
function fireUrlChange() {
if (lastBrowserUrl === self.url() && lastHistoryState === cachedState) {
return;
}
lastBrowserUrl = self.url();
lastHistoryState = cachedState;
forEach(urlChangeListeners, function(listener) {
listener(self.url(), cachedState);
});
}
/**
* @name $browser#onUrlChange
*
* @description
* Register callback function that will be called, when url changes.
*
* It's only called when the url is changed from outside of angular:
* - user types different url into address bar
* - user clicks on history (forward/back) button
* - user clicks on a link
*
* It's not called when url is changed by $browser.url() method
*
* The listener gets called with new url as parameter.
*
* NOTE: this api is intended for use only by the $location service. Please use the
* {@link ng.$location $location service} to monitor url changes in angular apps.
*
* @param {function(string)} listener Listener function to be called when url changes.
* @return {function(string)} Returns the registered listener fn - handy if the fn is anonymous.
*/
self.onUrlChange = function(callback) {
// TODO(vojta): refactor to use node's syntax for events
if (!urlChangeInit) {
// We listen on both (hashchange/popstate) when available, as some browsers (e.g. Opera)
// don't fire popstate when user change the address bar and don't fire hashchange when url
// changed by push/replaceState
// html5 history api - popstate event
if ($sniffer.history) jqLite(window).on('popstate', cacheStateAndFireUrlChange);
// hashchange event
jqLite(window).on('hashchange', cacheStateAndFireUrlChange);
urlChangeInit = true;
}
urlChangeListeners.push(callback);
return callback;
};
/**
* Checks whether the url has changed outside of Angular.
* Needs to be exported to be able to check for changes that have been done in sync,
* as hashchange/popstate events fire in async.
*/
self.$$checkUrlChange = fireUrlChange;
//////////////////////////////////////////////////////////////
// Misc API
//////////////////////////////////////////////////////////////
/**
* @name $browser#baseHref
*
* @description
* Returns current <base href>
* (always relative - without domain)
*
* @returns {string} The current base href
*/
self.baseHref = function() {
var href = baseElement.attr('href');
return href ? href.replace(/^(https?\:)?\/\/[^\/]*/, '') : '';
};
//////////////////////////////////////////////////////////////
// Cookies API
//////////////////////////////////////////////////////////////
var lastCookies = {};
var lastCookieString = '';
var cookiePath = self.baseHref();
function safeDecodeURIComponent(str) {
try {
return decodeURIComponent(str);
} catch (e) {
return str;
}
}
/**
* @name $browser#cookies
*
* @param {string=} name Cookie name
* @param {string=} value Cookie value
*
* @description
* The cookies method provides a 'private' low level access to browser cookies.
* It is not meant to be used directly, use the $cookie service instead.
*
* The return values vary depending on the arguments that the method was called with as follows:
*
* - cookies() -> hash of all cookies, this is NOT a copy of the internal state, so do not modify
* it
* - cookies(name, value) -> set name to value, if value is undefined delete the cookie
* - cookies(name) -> the same as (name, undefined) == DELETES (no one calls it right now that
* way)
*
* @returns {Object} Hash of all cookies (if called without any parameter)
*/
self.cookies = function(name, value) {
var cookieLength, cookieArray, cookie, i, index;
if (name) {
if (value === undefined) {
rawDocument.cookie = encodeURIComponent(name) + "=;path=" + cookiePath +
";expires=Thu, 01 Jan 1970 00:00:00 GMT";
} else {
if (isString(value)) {
cookieLength = (rawDocument.cookie = encodeURIComponent(name) + '=' + encodeURIComponent(value) +
';path=' + cookiePath).length + 1;
// per http://www.ietf.org/rfc/rfc2109.txt browser must allow at minimum:
// - 300 cookies
// - 20 cookies per unique domain
// - 4096 bytes per cookie
if (cookieLength > 4096) {
$log.warn("Cookie '" + name +
"' possibly not set or overflowed because it was too large (" +
cookieLength + " > 4096 bytes)!");
}
}
}
} else {
if (rawDocument.cookie !== lastCookieString) {
lastCookieString = rawDocument.cookie;
cookieArray = lastCookieString.split("; ");
lastCookies = {};
for (i = 0; i < cookieArray.length; i++) {
cookie = cookieArray[i];
index = cookie.indexOf('=');
if (index > 0) { //ignore nameless cookies
name = safeDecodeURIComponent(cookie.substring(0, index));
// the first value that is seen for a cookie is the most
// specific one. values for the same cookie name that
// follow are for less specific paths.
if (lastCookies[name] === undefined) {
lastCookies[name] = safeDecodeURIComponent(cookie.substring(index + 1));
}
}
}
}
return lastCookies;
}
};
/**
* @name $browser#defer
* @param {function()} fn A function, who's execution should be deferred.
* @param {number=} [delay=0] of milliseconds to defer the function execution.
* @returns {*} DeferId that can be used to cancel the task via `$browser.defer.cancel()`.
*
* @description
* Executes a fn asynchronously via `setTimeout(fn, delay)`.
*
* Unlike when calling `setTimeout` directly, in test this function is mocked and instead of using
* `setTimeout` in tests, the fns are queued in an array, which can be programmatically flushed
* via `$browser.defer.flush()`.
*
*/
self.defer = function(fn, delay) {
var timeoutId;
outstandingRequestCount++;
timeoutId = setTimeout(function() {
delete pendingDeferIds[timeoutId];
completeOutstandingRequest(fn);
}, delay || 0);
pendingDeferIds[timeoutId] = true;
return timeoutId;
};
/**
* @name $browser#defer.cancel
*
* @description
* Cancels a deferred task identified with `deferId`.
*
* @param {*} deferId Token returned by the `$browser.defer` function.
* @returns {boolean} Returns `true` if the task hasn't executed yet and was successfully
* canceled.
*/
self.defer.cancel = function(deferId) {
if (pendingDeferIds[deferId]) {
delete pendingDeferIds[deferId];
clearTimeout(deferId);
completeOutstandingRequest(noop);
return true;
}
return false;
};
}
function $BrowserProvider() {
this.$get = ['$window', '$log', '$sniffer', '$document',
function($window, $log, $sniffer, $document) {
return new Browser($window, $document, $log, $sniffer);
}];
}
/**
* @ngdoc service
* @name $cacheFactory
*
* @description
* Factory that constructs {@link $cacheFactory.Cache Cache} objects and gives access to
* them.
*
* ```js
*
* var cache = $cacheFactory('cacheId');
* expect($cacheFactory.get('cacheId')).toBe(cache);
* expect($cacheFactory.get('noSuchCacheId')).not.toBeDefined();
*
* cache.put("key", "value");
* cache.put("another key", "another value");
*
* // We've specified no options on creation
* expect(cache.info()).toEqual({id: 'cacheId', size: 2});
*
* ```
*
*
* @param {string} cacheId Name or id of the newly created cache.
* @param {object=} options Options object that specifies the cache behavior. Properties:
*
* - `{number=}` `capacity` — turns the cache into LRU cache.
*
* @returns {object} Newly created cache object with the following set of methods:
*
* - `{object}` `info()` — Returns id, size, and options of cache.
* - `{{*}}` `put({string} key, {*} value)` — Puts a new key-value pair into the cache and returns
* it.
* - `{{*}}` `get({string} key)` — Returns cached value for `key` or undefined for cache miss.
* - `{void}` `remove({string} key)` — Removes a key-value pair from the cache.
* - `{void}` `removeAll()` — Removes all cached values.
* - `{void}` `destroy()` — Removes references to this cache from $cacheFactory.
*
* @example
<example module="cacheExampleApp">
<file name="index.html">
<div ng-controller="CacheController">
<input ng-model="newCacheKey" placeholder="Key">
<input ng-model="newCacheValue" placeholder="Value">
<button ng-click="put(newCacheKey, newCacheValue)">Cache</button>
<p ng-if="keys.length">Cached Values</p>
<div ng-repeat="key in keys">
<span ng-bind="key"></span>
<span>: </span>
<b ng-bind="cache.get(key)"></b>
</div>
<p>Cache Info</p>
<div ng-repeat="(key, value) in cache.info()">
<span ng-bind="key"></span>
<span>: </span>
<b ng-bind="value"></b>
</div>
</div>
</file>
<file name="script.js">
angular.module('cacheExampleApp', []).
controller('CacheController', ['$scope', '$cacheFactory', function($scope, $cacheFactory) {
$scope.keys = [];
$scope.cache = $cacheFactory('cacheId');
$scope.put = function(key, value) {
if ($scope.cache.get(key) === undefined) {
$scope.keys.push(key);
}
$scope.cache.put(key, value === undefined ? null : value);
};
}]);
</file>
<file name="style.css">
p {
margin: 10px 0 3px;
}
</file>
</example>
*/
function $CacheFactoryProvider() {
this.$get = function() {
var caches = {};
function cacheFactory(cacheId, options) {
if (cacheId in caches) {
throw minErr('$cacheFactory')('iid', "CacheId '{0}' is already taken!", cacheId);
}
var size = 0,
stats = extend({}, options, {id: cacheId}),
data = {},
capacity = (options && options.capacity) || Number.MAX_VALUE,
lruHash = {},
freshEnd = null,
staleEnd = null;
/**
* @ngdoc type
* @name $cacheFactory.Cache
*
* @description
* A cache object used to store and retrieve data, primarily used by
* {@link $http $http} and the {@link ng.directive:script script} directive to cache
* templates and other data.
*
* ```js
* angular.module('superCache')
* .factory('superCache', ['$cacheFactory', function($cacheFactory) {
* return $cacheFactory('super-cache');
* }]);
* ```
*
* Example test:
*
* ```js
* it('should behave like a cache', inject(function(superCache) {
* superCache.put('key', 'value');
* superCache.put('another key', 'another value');
*
* expect(superCache.info()).toEqual({
* id: 'super-cache',
* size: 2
* });
*
* superCache.remove('another key');
* expect(superCache.get('another key')).toBeUndefined();
*
* superCache.removeAll();
* expect(superCache.info()).toEqual({
* id: 'super-cache',
* size: 0
* });
* }));
* ```
*/
return caches[cacheId] = {
/**
* @ngdoc method
* @name $cacheFactory.Cache#put
* @kind function
gitextract_pu2spuzi/
├── .bowerrc
├── .editorconfig
├── .gitignore
├── .jshintignore
├── .jshintrc
├── README.md
├── bower.json
├── client/
│ ├── 404.html
│ ├── app/
│ │ ├── bootstrap.js
│ │ ├── components/
│ │ │ ├── auth-required/
│ │ │ │ ├── auth-required.controller.js
│ │ │ │ ├── auth-required.directive.js
│ │ │ │ └── auth-required.template.html
│ │ │ └── site-header/
│ │ │ ├── site-header.directive.js
│ │ │ └── site-header.template.html
│ │ ├── config/
│ │ │ └── main.config.js
│ │ ├── main.js
│ │ ├── routes/
│ │ │ ├── auth-required.route.js
│ │ │ ├── errors/
│ │ │ │ ├── 404/
│ │ │ │ │ ├── errors-404.route.js
│ │ │ │ │ └── errors-404.template.html
│ │ │ │ └── errors.route.js
│ │ │ └── home/
│ │ │ ├── home.route.js
│ │ │ └── index/
│ │ │ ├── home-index.e2e.js
│ │ │ ├── home-index.route.js
│ │ │ └── home-index.template.html
│ │ └── services/
│ │ └── current-user/
│ │ ├── current-user.js
│ │ └── current-user.spec.js
│ ├── assets/
│ │ └── stylesheets/
│ │ ├── main.css
│ │ ├── shared/
│ │ │ └── base.css
│ │ └── variables.css
│ ├── components/
│ │ ├── angular/
│ │ │ ├── .bower.json
│ │ │ ├── README.md
│ │ │ ├── angular-csp.css
│ │ │ ├── angular.js
│ │ │ ├── angular.min.js.gzip
│ │ │ ├── bower.json
│ │ │ └── package.json
│ │ ├── angular-animate/
│ │ │ ├── .bower.json
│ │ │ ├── README.md
│ │ │ ├── angular-animate.js
│ │ │ ├── bower.json
│ │ │ └── package.json
│ │ ├── angular-aria/
│ │ │ ├── .bower.json
│ │ │ ├── README.md
│ │ │ ├── angular-aria.js
│ │ │ ├── bower.json
│ │ │ └── package.json
│ │ ├── angular-i18n/
│ │ │ ├── .bower.json
│ │ │ ├── README.md
│ │ │ ├── angular-locale_aa-dj.js
│ │ │ ├── angular-locale_aa-er.js
│ │ │ ├── angular-locale_aa-et.js
│ │ │ ├── angular-locale_aa.js
│ │ │ ├── angular-locale_af-na.js
│ │ │ ├── angular-locale_af-za.js
│ │ │ ├── angular-locale_af.js
│ │ │ ├── angular-locale_agq-cm.js
│ │ │ ├── angular-locale_agq.js
│ │ │ ├── angular-locale_ak-gh.js
│ │ │ ├── angular-locale_ak.js
│ │ │ ├── angular-locale_am-et.js
│ │ │ ├── angular-locale_am.js
│ │ │ ├── angular-locale_ar-001.js
│ │ │ ├── angular-locale_ar-ae.js
│ │ │ ├── angular-locale_ar-bh.js
│ │ │ ├── angular-locale_ar-dj.js
│ │ │ ├── angular-locale_ar-dz.js
│ │ │ ├── angular-locale_ar-eg.js
│ │ │ ├── angular-locale_ar-eh.js
│ │ │ ├── angular-locale_ar-er.js
│ │ │ ├── angular-locale_ar-il.js
│ │ │ ├── angular-locale_ar-iq.js
│ │ │ ├── angular-locale_ar-jo.js
│ │ │ ├── angular-locale_ar-km.js
│ │ │ ├── angular-locale_ar-kw.js
│ │ │ ├── angular-locale_ar-lb.js
│ │ │ ├── angular-locale_ar-ly.js
│ │ │ ├── angular-locale_ar-ma.js
│ │ │ ├── angular-locale_ar-mr.js
│ │ │ ├── angular-locale_ar-om.js
│ │ │ ├── angular-locale_ar-ps.js
│ │ │ ├── angular-locale_ar-qa.js
│ │ │ ├── angular-locale_ar-sa.js
│ │ │ ├── angular-locale_ar-sd.js
│ │ │ ├── angular-locale_ar-so.js
│ │ │ ├── angular-locale_ar-ss.js
│ │ │ ├── angular-locale_ar-sy.js
│ │ │ ├── angular-locale_ar-td.js
│ │ │ ├── angular-locale_ar-tn.js
│ │ │ ├── angular-locale_ar-ye.js
│ │ │ ├── angular-locale_ar.js
│ │ │ ├── angular-locale_as-in.js
│ │ │ ├── angular-locale_as.js
│ │ │ ├── angular-locale_asa-tz.js
│ │ │ ├── angular-locale_asa.js
│ │ │ ├── angular-locale_ast-es.js
│ │ │ ├── angular-locale_ast.js
│ │ │ ├── angular-locale_az-cyrl-az.js
│ │ │ ├── angular-locale_az-cyrl.js
│ │ │ ├── angular-locale_az-latn-az.js
│ │ │ ├── angular-locale_az-latn.js
│ │ │ ├── angular-locale_az.js
│ │ │ ├── angular-locale_bas-cm.js
│ │ │ ├── angular-locale_bas.js
│ │ │ ├── angular-locale_be-by.js
│ │ │ ├── angular-locale_be.js
│ │ │ ├── angular-locale_bem-zm.js
│ │ │ ├── angular-locale_bem.js
│ │ │ ├── angular-locale_bez-tz.js
│ │ │ ├── angular-locale_bez.js
│ │ │ ├── angular-locale_bg-bg.js
│ │ │ ├── angular-locale_bg.js
│ │ │ ├── angular-locale_bm-latn-ml.js
│ │ │ ├── angular-locale_bm-latn.js
│ │ │ ├── angular-locale_bm-ml.js
│ │ │ ├── angular-locale_bm.js
│ │ │ ├── angular-locale_bn-bd.js
│ │ │ ├── angular-locale_bn-in.js
│ │ │ ├── angular-locale_bn.js
│ │ │ ├── angular-locale_bo-cn.js
│ │ │ ├── angular-locale_bo-in.js
│ │ │ ├── angular-locale_bo.js
│ │ │ ├── angular-locale_br-fr.js
│ │ │ ├── angular-locale_br.js
│ │ │ ├── angular-locale_brx-in.js
│ │ │ ├── angular-locale_brx.js
│ │ │ ├── angular-locale_bs-cyrl-ba.js
│ │ │ ├── angular-locale_bs-cyrl.js
│ │ │ ├── angular-locale_bs-latn-ba.js
│ │ │ ├── angular-locale_bs-latn.js
│ │ │ ├── angular-locale_bs.js
│ │ │ ├── angular-locale_byn-er.js
│ │ │ ├── angular-locale_byn.js
│ │ │ ├── angular-locale_ca-ad.js
│ │ │ ├── angular-locale_ca-es-valencia.js
│ │ │ ├── angular-locale_ca-es.js
│ │ │ ├── angular-locale_ca-fr.js
│ │ │ ├── angular-locale_ca-it.js
│ │ │ ├── angular-locale_ca.js
│ │ │ ├── angular-locale_cgg-ug.js
│ │ │ ├── angular-locale_cgg.js
│ │ │ ├── angular-locale_chr-us.js
│ │ │ ├── angular-locale_chr.js
│ │ │ ├── angular-locale_ckb-arab-iq.js
│ │ │ ├── angular-locale_ckb-arab-ir.js
│ │ │ ├── angular-locale_ckb-arab.js
│ │ │ ├── angular-locale_ckb-iq.js
│ │ │ ├── angular-locale_ckb-ir.js
│ │ │ ├── angular-locale_ckb-latn-iq.js
│ │ │ ├── angular-locale_ckb-latn.js
│ │ │ ├── angular-locale_ckb.js
│ │ │ ├── angular-locale_cs-cz.js
│ │ │ ├── angular-locale_cs.js
│ │ │ ├── angular-locale_cy-gb.js
│ │ │ ├── angular-locale_cy.js
│ │ │ ├── angular-locale_da-dk.js
│ │ │ ├── angular-locale_da-gl.js
│ │ │ ├── angular-locale_da.js
│ │ │ ├── angular-locale_dav-ke.js
│ │ │ ├── angular-locale_dav.js
│ │ │ ├── angular-locale_de-at.js
│ │ │ ├── angular-locale_de-be.js
│ │ │ ├── angular-locale_de-ch.js
│ │ │ ├── angular-locale_de-de.js
│ │ │ ├── angular-locale_de-li.js
│ │ │ ├── angular-locale_de-lu.js
│ │ │ ├── angular-locale_de.js
│ │ │ ├── angular-locale_dje-ne.js
│ │ │ ├── angular-locale_dje.js
│ │ │ ├── angular-locale_dsb-de.js
│ │ │ ├── angular-locale_dsb.js
│ │ │ ├── angular-locale_dua-cm.js
│ │ │ ├── angular-locale_dua.js
│ │ │ ├── angular-locale_dyo-sn.js
│ │ │ ├── angular-locale_dyo.js
│ │ │ ├── angular-locale_dz-bt.js
│ │ │ ├── angular-locale_dz.js
│ │ │ ├── angular-locale_ebu-ke.js
│ │ │ ├── angular-locale_ebu.js
│ │ │ ├── angular-locale_ee-gh.js
│ │ │ ├── angular-locale_ee-tg.js
│ │ │ ├── angular-locale_ee.js
│ │ │ ├── angular-locale_el-cy.js
│ │ │ ├── angular-locale_el-gr.js
│ │ │ ├── angular-locale_el.js
│ │ │ ├── angular-locale_en-001.js
│ │ │ ├── angular-locale_en-150.js
│ │ │ ├── angular-locale_en-ag.js
│ │ │ ├── angular-locale_en-ai.js
│ │ │ ├── angular-locale_en-as.js
│ │ │ ├── angular-locale_en-au.js
│ │ │ ├── angular-locale_en-bb.js
│ │ │ ├── angular-locale_en-be.js
│ │ │ ├── angular-locale_en-bm.js
│ │ │ ├── angular-locale_en-bs.js
│ │ │ ├── angular-locale_en-bw.js
│ │ │ ├── angular-locale_en-bz.js
│ │ │ ├── angular-locale_en-ca.js
│ │ │ ├── angular-locale_en-cc.js
│ │ │ ├── angular-locale_en-ck.js
│ │ │ ├── angular-locale_en-cm.js
│ │ │ ├── angular-locale_en-cx.js
│ │ │ ├── angular-locale_en-dg.js
│ │ │ ├── angular-locale_en-dm.js
│ │ │ ├── angular-locale_en-dsrt-us.js
│ │ │ ├── angular-locale_en-dsrt.js
│ │ │ ├── angular-locale_en-er.js
│ │ │ ├── angular-locale_en-fj.js
│ │ │ ├── angular-locale_en-fk.js
│ │ │ ├── angular-locale_en-fm.js
│ │ │ ├── angular-locale_en-gb.js
│ │ │ ├── angular-locale_en-gd.js
│ │ │ ├── angular-locale_en-gg.js
│ │ │ ├── angular-locale_en-gh.js
│ │ │ ├── angular-locale_en-gi.js
│ │ │ ├── angular-locale_en-gm.js
│ │ │ ├── angular-locale_en-gu.js
│ │ │ ├── angular-locale_en-gy.js
│ │ │ ├── angular-locale_en-hk.js
│ │ │ ├── angular-locale_en-ie.js
│ │ │ ├── angular-locale_en-im.js
│ │ │ ├── angular-locale_en-in.js
│ │ │ ├── angular-locale_en-io.js
│ │ │ ├── angular-locale_en-iso.js
│ │ │ ├── angular-locale_en-je.js
│ │ │ ├── angular-locale_en-jm.js
│ │ │ ├── angular-locale_en-ke.js
│ │ │ ├── angular-locale_en-ki.js
│ │ │ ├── angular-locale_en-kn.js
│ │ │ ├── angular-locale_en-ky.js
│ │ │ ├── angular-locale_en-lc.js
│ │ │ ├── angular-locale_en-lr.js
│ │ │ ├── angular-locale_en-ls.js
│ │ │ ├── angular-locale_en-mg.js
│ │ │ ├── angular-locale_en-mh.js
│ │ │ ├── angular-locale_en-mo.js
│ │ │ ├── angular-locale_en-mp.js
│ │ │ ├── angular-locale_en-ms.js
│ │ │ ├── angular-locale_en-mt.js
│ │ │ ├── angular-locale_en-mu.js
│ │ │ ├── angular-locale_en-mw.js
│ │ │ ├── angular-locale_en-my.js
│ │ │ ├── angular-locale_en-na.js
│ │ │ ├── angular-locale_en-nf.js
│ │ │ ├── angular-locale_en-ng.js
│ │ │ ├── angular-locale_en-nr.js
│ │ │ ├── angular-locale_en-nu.js
│ │ │ ├── angular-locale_en-nz.js
│ │ │ ├── angular-locale_en-pg.js
│ │ │ ├── angular-locale_en-ph.js
│ │ │ ├── angular-locale_en-pk.js
│ │ │ ├── angular-locale_en-pn.js
│ │ │ ├── angular-locale_en-pr.js
│ │ │ ├── angular-locale_en-pw.js
│ │ │ ├── angular-locale_en-rw.js
│ │ │ ├── angular-locale_en-sb.js
│ │ │ ├── angular-locale_en-sc.js
│ │ │ ├── angular-locale_en-sd.js
│ │ │ ├── angular-locale_en-sg.js
│ │ │ ├── angular-locale_en-sh.js
│ │ │ ├── angular-locale_en-sl.js
│ │ │ ├── angular-locale_en-ss.js
│ │ │ ├── angular-locale_en-sx.js
│ │ │ ├── angular-locale_en-sz.js
│ │ │ ├── angular-locale_en-tc.js
│ │ │ ├── angular-locale_en-tk.js
│ │ │ ├── angular-locale_en-to.js
│ │ │ ├── angular-locale_en-tt.js
│ │ │ ├── angular-locale_en-tv.js
│ │ │ ├── angular-locale_en-tz.js
│ │ │ ├── angular-locale_en-ug.js
│ │ │ ├── angular-locale_en-um.js
│ │ │ ├── angular-locale_en-us.js
│ │ │ ├── angular-locale_en-vc.js
│ │ │ ├── angular-locale_en-vg.js
│ │ │ ├── angular-locale_en-vi.js
│ │ │ ├── angular-locale_en-vu.js
│ │ │ ├── angular-locale_en-ws.js
│ │ │ ├── angular-locale_en-za.js
│ │ │ ├── angular-locale_en-zm.js
│ │ │ ├── angular-locale_en-zw.js
│ │ │ ├── angular-locale_en.js
│ │ │ ├── angular-locale_eo-001.js
│ │ │ ├── angular-locale_eo.js
│ │ │ ├── angular-locale_es-419.js
│ │ │ ├── angular-locale_es-ar.js
│ │ │ ├── angular-locale_es-bo.js
│ │ │ ├── angular-locale_es-cl.js
│ │ │ ├── angular-locale_es-co.js
│ │ │ ├── angular-locale_es-cr.js
│ │ │ ├── angular-locale_es-cu.js
│ │ │ ├── angular-locale_es-do.js
│ │ │ ├── angular-locale_es-ea.js
│ │ │ ├── angular-locale_es-ec.js
│ │ │ ├── angular-locale_es-es.js
│ │ │ ├── angular-locale_es-gq.js
│ │ │ ├── angular-locale_es-gt.js
│ │ │ ├── angular-locale_es-hn.js
│ │ │ ├── angular-locale_es-ic.js
│ │ │ ├── angular-locale_es-mx.js
│ │ │ ├── angular-locale_es-ni.js
│ │ │ ├── angular-locale_es-pa.js
│ │ │ ├── angular-locale_es-pe.js
│ │ │ ├── angular-locale_es-ph.js
│ │ │ ├── angular-locale_es-pr.js
│ │ │ ├── angular-locale_es-py.js
│ │ │ ├── angular-locale_es-sv.js
│ │ │ ├── angular-locale_es-us.js
│ │ │ ├── angular-locale_es-uy.js
│ │ │ ├── angular-locale_es-ve.js
│ │ │ ├── angular-locale_es.js
│ │ │ ├── angular-locale_et-ee.js
│ │ │ ├── angular-locale_et.js
│ │ │ ├── angular-locale_eu-es.js
│ │ │ ├── angular-locale_eu.js
│ │ │ ├── angular-locale_ewo-cm.js
│ │ │ ├── angular-locale_ewo.js
│ │ │ ├── angular-locale_fa-af.js
│ │ │ ├── angular-locale_fa-ir.js
│ │ │ ├── angular-locale_fa.js
│ │ │ ├── angular-locale_ff-cm.js
│ │ │ ├── angular-locale_ff-gn.js
│ │ │ ├── angular-locale_ff-mr.js
│ │ │ ├── angular-locale_ff-sn.js
│ │ │ ├── angular-locale_ff.js
│ │ │ ├── angular-locale_fi-fi.js
│ │ │ ├── angular-locale_fi.js
│ │ │ ├── angular-locale_fil-ph.js
│ │ │ ├── angular-locale_fil.js
│ │ │ ├── angular-locale_fo-fo.js
│ │ │ ├── angular-locale_fo.js
│ │ │ ├── angular-locale_fr-be.js
│ │ │ ├── angular-locale_fr-bf.js
│ │ │ ├── angular-locale_fr-bi.js
│ │ │ ├── angular-locale_fr-bj.js
│ │ │ ├── angular-locale_fr-bl.js
│ │ │ ├── angular-locale_fr-ca.js
│ │ │ ├── angular-locale_fr-cd.js
│ │ │ ├── angular-locale_fr-cf.js
│ │ │ ├── angular-locale_fr-cg.js
│ │ │ ├── angular-locale_fr-ch.js
│ │ │ ├── angular-locale_fr-ci.js
│ │ │ ├── angular-locale_fr-cm.js
│ │ │ ├── angular-locale_fr-dj.js
│ │ │ ├── angular-locale_fr-dz.js
│ │ │ ├── angular-locale_fr-fr.js
│ │ │ ├── angular-locale_fr-ga.js
│ │ │ ├── angular-locale_fr-gf.js
│ │ │ ├── angular-locale_fr-gn.js
│ │ │ ├── angular-locale_fr-gp.js
│ │ │ ├── angular-locale_fr-gq.js
│ │ │ ├── angular-locale_fr-ht.js
│ │ │ ├── angular-locale_fr-km.js
│ │ │ ├── angular-locale_fr-lu.js
│ │ │ ├── angular-locale_fr-ma.js
│ │ │ ├── angular-locale_fr-mc.js
│ │ │ ├── angular-locale_fr-mf.js
│ │ │ ├── angular-locale_fr-mg.js
│ │ │ ├── angular-locale_fr-ml.js
│ │ │ ├── angular-locale_fr-mq.js
│ │ │ ├── angular-locale_fr-mr.js
│ │ │ ├── angular-locale_fr-mu.js
│ │ │ ├── angular-locale_fr-nc.js
│ │ │ ├── angular-locale_fr-ne.js
│ │ │ ├── angular-locale_fr-pf.js
│ │ │ ├── angular-locale_fr-pm.js
│ │ │ ├── angular-locale_fr-re.js
│ │ │ ├── angular-locale_fr-rw.js
│ │ │ ├── angular-locale_fr-sc.js
│ │ │ ├── angular-locale_fr-sn.js
│ │ │ ├── angular-locale_fr-sy.js
│ │ │ ├── angular-locale_fr-td.js
│ │ │ ├── angular-locale_fr-tg.js
│ │ │ ├── angular-locale_fr-tn.js
│ │ │ ├── angular-locale_fr-vu.js
│ │ │ ├── angular-locale_fr-wf.js
│ │ │ ├── angular-locale_fr-yt.js
│ │ │ ├── angular-locale_fr.js
│ │ │ ├── angular-locale_fur-it.js
│ │ │ ├── angular-locale_fur.js
│ │ │ ├── angular-locale_fy-nl.js
│ │ │ ├── angular-locale_fy.js
│ │ │ ├── angular-locale_ga-ie.js
│ │ │ ├── angular-locale_ga.js
│ │ │ ├── angular-locale_gd-gb.js
│ │ │ ├── angular-locale_gd.js
│ │ │ ├── angular-locale_gl-es.js
│ │ │ ├── angular-locale_gl.js
│ │ │ ├── angular-locale_gsw-ch.js
│ │ │ ├── angular-locale_gsw-fr.js
│ │ │ ├── angular-locale_gsw-li.js
│ │ │ ├── angular-locale_gsw.js
│ │ │ ├── angular-locale_gu-in.js
│ │ │ ├── angular-locale_gu.js
│ │ │ ├── angular-locale_guz-ke.js
│ │ │ ├── angular-locale_guz.js
│ │ │ ├── angular-locale_gv-im.js
│ │ │ ├── angular-locale_gv.js
│ │ │ ├── angular-locale_ha-latn-gh.js
│ │ │ ├── angular-locale_ha-latn-ne.js
│ │ │ ├── angular-locale_ha-latn-ng.js
│ │ │ ├── angular-locale_ha-latn.js
│ │ │ ├── angular-locale_ha.js
│ │ │ ├── angular-locale_haw-us.js
│ │ │ ├── angular-locale_haw.js
│ │ │ ├── angular-locale_he-il.js
│ │ │ ├── angular-locale_he.js
│ │ │ ├── angular-locale_hi-in.js
│ │ │ ├── angular-locale_hi.js
│ │ │ ├── angular-locale_hr-ba.js
│ │ │ ├── angular-locale_hr-hr.js
│ │ │ ├── angular-locale_hr.js
│ │ │ ├── angular-locale_hsb-de.js
│ │ │ ├── angular-locale_hsb.js
│ │ │ ├── angular-locale_hu-hu.js
│ │ │ ├── angular-locale_hu.js
│ │ │ ├── angular-locale_hy-am.js
│ │ │ ├── angular-locale_hy.js
│ │ │ ├── angular-locale_ia-fr.js
│ │ │ ├── angular-locale_ia.js
│ │ │ ├── angular-locale_id-id.js
│ │ │ ├── angular-locale_id.js
│ │ │ ├── angular-locale_ig-ng.js
│ │ │ ├── angular-locale_ig.js
│ │ │ ├── angular-locale_ii-cn.js
│ │ │ ├── angular-locale_ii.js
│ │ │ ├── angular-locale_in.js
│ │ │ ├── angular-locale_is-is.js
│ │ │ ├── angular-locale_is.js
│ │ │ ├── angular-locale_it-ch.js
│ │ │ ├── angular-locale_it-it.js
│ │ │ ├── angular-locale_it-sm.js
│ │ │ ├── angular-locale_it.js
│ │ │ ├── angular-locale_iw.js
│ │ │ ├── angular-locale_ja-jp.js
│ │ │ ├── angular-locale_ja.js
│ │ │ ├── angular-locale_jgo-cm.js
│ │ │ ├── angular-locale_jgo.js
│ │ │ ├── angular-locale_jmc-tz.js
│ │ │ ├── angular-locale_jmc.js
│ │ │ ├── angular-locale_ka-ge.js
│ │ │ ├── angular-locale_ka.js
│ │ │ ├── angular-locale_kab-dz.js
│ │ │ ├── angular-locale_kab.js
│ │ │ ├── angular-locale_kam-ke.js
│ │ │ ├── angular-locale_kam.js
│ │ │ ├── angular-locale_kde-tz.js
│ │ │ ├── angular-locale_kde.js
│ │ │ ├── angular-locale_kea-cv.js
│ │ │ ├── angular-locale_kea.js
│ │ │ ├── angular-locale_khq-ml.js
│ │ │ ├── angular-locale_khq.js
│ │ │ ├── angular-locale_ki-ke.js
│ │ │ ├── angular-locale_ki.js
│ │ │ ├── angular-locale_kk-cyrl-kz.js
│ │ │ ├── angular-locale_kk-cyrl.js
│ │ │ ├── angular-locale_kk.js
│ │ │ ├── angular-locale_kkj-cm.js
│ │ │ ├── angular-locale_kkj.js
│ │ │ ├── angular-locale_kl-gl.js
│ │ │ ├── angular-locale_kl.js
│ │ │ ├── angular-locale_kln-ke.js
│ │ │ ├── angular-locale_kln.js
│ │ │ ├── angular-locale_km-kh.js
│ │ │ ├── angular-locale_km.js
│ │ │ ├── angular-locale_kn-in.js
│ │ │ ├── angular-locale_kn.js
│ │ │ ├── angular-locale_ko-kp.js
│ │ │ ├── angular-locale_ko-kr.js
│ │ │ ├── angular-locale_ko.js
│ │ │ ├── angular-locale_kok-in.js
│ │ │ ├── angular-locale_kok.js
│ │ │ ├── angular-locale_ks-arab-in.js
│ │ │ ├── angular-locale_ks-arab.js
│ │ │ ├── angular-locale_ks.js
│ │ │ ├── angular-locale_ksb-tz.js
│ │ │ ├── angular-locale_ksb.js
│ │ │ ├── angular-locale_ksf-cm.js
│ │ │ ├── angular-locale_ksf.js
│ │ │ ├── angular-locale_ksh-de.js
│ │ │ ├── angular-locale_ksh.js
│ │ │ ├── angular-locale_kw-gb.js
│ │ │ ├── angular-locale_kw.js
│ │ │ ├── angular-locale_ky-cyrl-kg.js
│ │ │ ├── angular-locale_ky-cyrl.js
│ │ │ ├── angular-locale_ky.js
│ │ │ ├── angular-locale_lag-tz.js
│ │ │ ├── angular-locale_lag.js
│ │ │ ├── angular-locale_lb-lu.js
│ │ │ ├── angular-locale_lb.js
│ │ │ ├── angular-locale_lg-ug.js
│ │ │ ├── angular-locale_lg.js
│ │ │ ├── angular-locale_lkt-us.js
│ │ │ ├── angular-locale_lkt.js
│ │ │ ├── angular-locale_ln-ao.js
│ │ │ ├── angular-locale_ln-cd.js
│ │ │ ├── angular-locale_ln-cf.js
│ │ │ ├── angular-locale_ln-cg.js
│ │ │ ├── angular-locale_ln.js
│ │ │ ├── angular-locale_lo-la.js
│ │ │ ├── angular-locale_lo.js
│ │ │ ├── angular-locale_lt-lt.js
│ │ │ ├── angular-locale_lt.js
│ │ │ ├── angular-locale_lu-cd.js
│ │ │ ├── angular-locale_lu.js
│ │ │ ├── angular-locale_luo-ke.js
│ │ │ ├── angular-locale_luo.js
│ │ │ ├── angular-locale_luy-ke.js
│ │ │ ├── angular-locale_luy.js
│ │ │ ├── angular-locale_lv-lv.js
│ │ │ ├── angular-locale_lv.js
│ │ │ ├── angular-locale_mas-ke.js
│ │ │ ├── angular-locale_mas-tz.js
│ │ │ ├── angular-locale_mas.js
│ │ │ ├── angular-locale_mer-ke.js
│ │ │ ├── angular-locale_mer.js
│ │ │ ├── angular-locale_mfe-mu.js
│ │ │ ├── angular-locale_mfe.js
│ │ │ ├── angular-locale_mg-mg.js
│ │ │ ├── angular-locale_mg.js
│ │ │ ├── angular-locale_mgh-mz.js
│ │ │ ├── angular-locale_mgh.js
│ │ │ ├── angular-locale_mgo-cm.js
│ │ │ ├── angular-locale_mgo.js
│ │ │ ├── angular-locale_mk-mk.js
│ │ │ ├── angular-locale_mk.js
│ │ │ ├── angular-locale_ml-in.js
│ │ │ ├── angular-locale_ml.js
│ │ │ ├── angular-locale_mn-cyrl-mn.js
│ │ │ ├── angular-locale_mn-cyrl.js
│ │ │ ├── angular-locale_mn.js
│ │ │ ├── angular-locale_mr-in.js
│ │ │ ├── angular-locale_mr.js
│ │ │ ├── angular-locale_ms-bn.js
│ │ │ ├── angular-locale_ms-latn-bn.js
│ │ │ ├── angular-locale_ms-latn-my.js
│ │ │ ├── angular-locale_ms-latn-sg.js
│ │ │ ├── angular-locale_ms-latn.js
│ │ │ ├── angular-locale_ms-my.js
│ │ │ ├── angular-locale_ms.js
│ │ │ ├── angular-locale_mt-mt.js
│ │ │ ├── angular-locale_mt.js
│ │ │ ├── angular-locale_mua-cm.js
│ │ │ ├── angular-locale_mua.js
│ │ │ ├── angular-locale_my-mm.js
│ │ │ ├── angular-locale_my.js
│ │ │ ├── angular-locale_naq-na.js
│ │ │ ├── angular-locale_naq.js
│ │ │ ├── angular-locale_nb-no.js
│ │ │ ├── angular-locale_nb-sj.js
│ │ │ ├── angular-locale_nb.js
│ │ │ ├── angular-locale_nd-zw.js
│ │ │ ├── angular-locale_nd.js
│ │ │ ├── angular-locale_ne-in.js
│ │ │ ├── angular-locale_ne-np.js
│ │ │ ├── angular-locale_ne.js
│ │ │ ├── angular-locale_nl-aw.js
│ │ │ ├── angular-locale_nl-be.js
│ │ │ ├── angular-locale_nl-bq.js
│ │ │ ├── angular-locale_nl-cw.js
│ │ │ ├── angular-locale_nl-nl.js
│ │ │ ├── angular-locale_nl-sr.js
│ │ │ ├── angular-locale_nl-sx.js
│ │ │ ├── angular-locale_nl.js
│ │ │ ├── angular-locale_nmg-cm.js
│ │ │ ├── angular-locale_nmg.js
│ │ │ ├── angular-locale_nn-no.js
│ │ │ ├── angular-locale_nn.js
│ │ │ ├── angular-locale_nnh-cm.js
│ │ │ ├── angular-locale_nnh.js
│ │ │ ├── angular-locale_no-no.js
│ │ │ ├── angular-locale_no.js
│ │ │ ├── angular-locale_nr-za.js
│ │ │ ├── angular-locale_nr.js
│ │ │ ├── angular-locale_nso-za.js
│ │ │ ├── angular-locale_nso.js
│ │ │ ├── angular-locale_nus-sd.js
│ │ │ ├── angular-locale_nus.js
│ │ │ ├── angular-locale_nyn-ug.js
│ │ │ ├── angular-locale_nyn.js
│ │ │ ├── angular-locale_om-et.js
│ │ │ ├── angular-locale_om-ke.js
│ │ │ ├── angular-locale_om.js
│ │ │ ├── angular-locale_or-in.js
│ │ │ ├── angular-locale_or.js
│ │ │ ├── angular-locale_os-ge.js
│ │ │ ├── angular-locale_os-ru.js
│ │ │ ├── angular-locale_os.js
│ │ │ ├── angular-locale_pa-arab-pk.js
│ │ │ ├── angular-locale_pa-arab.js
│ │ │ ├── angular-locale_pa-guru-in.js
│ │ │ ├── angular-locale_pa-guru.js
│ │ │ ├── angular-locale_pa.js
│ │ │ ├── angular-locale_pl-pl.js
│ │ │ ├── angular-locale_pl.js
│ │ │ ├── angular-locale_ps-af.js
│ │ │ ├── angular-locale_ps.js
│ │ │ ├── angular-locale_pt-ao.js
│ │ │ ├── angular-locale_pt-br.js
│ │ │ ├── angular-locale_pt-cv.js
│ │ │ ├── angular-locale_pt-gw.js
│ │ │ ├── angular-locale_pt-mo.js
│ │ │ ├── angular-locale_pt-mz.js
│ │ │ ├── angular-locale_pt-pt.js
│ │ │ ├── angular-locale_pt-st.js
│ │ │ ├── angular-locale_pt-tl.js
│ │ │ ├── angular-locale_pt.js
│ │ │ ├── angular-locale_qu-bo.js
│ │ │ ├── angular-locale_qu-ec.js
│ │ │ ├── angular-locale_qu-pe.js
│ │ │ ├── angular-locale_qu.js
│ │ │ ├── angular-locale_rm-ch.js
│ │ │ ├── angular-locale_rm.js
│ │ │ ├── angular-locale_rn-bi.js
│ │ │ ├── angular-locale_rn.js
│ │ │ ├── angular-locale_ro-md.js
│ │ │ ├── angular-locale_ro-ro.js
│ │ │ ├── angular-locale_ro.js
│ │ │ ├── angular-locale_rof-tz.js
│ │ │ ├── angular-locale_rof.js
│ │ │ ├── angular-locale_ru-by.js
│ │ │ ├── angular-locale_ru-kg.js
│ │ │ ├── angular-locale_ru-kz.js
│ │ │ ├── angular-locale_ru-md.js
│ │ │ ├── angular-locale_ru-ru.js
│ │ │ ├── angular-locale_ru-ua.js
│ │ │ ├── angular-locale_ru.js
│ │ │ ├── angular-locale_rw-rw.js
│ │ │ ├── angular-locale_rw.js
│ │ │ ├── angular-locale_rwk-tz.js
│ │ │ ├── angular-locale_rwk.js
│ │ │ ├── angular-locale_sah-ru.js
│ │ │ ├── angular-locale_sah.js
│ │ │ ├── angular-locale_saq-ke.js
│ │ │ ├── angular-locale_saq.js
│ │ │ ├── angular-locale_sbp-tz.js
│ │ │ ├── angular-locale_sbp.js
│ │ │ ├── angular-locale_se-fi.js
│ │ │ ├── angular-locale_se-no.js
│ │ │ ├── angular-locale_se-se.js
│ │ │ ├── angular-locale_se.js
│ │ │ ├── angular-locale_seh-mz.js
│ │ │ ├── angular-locale_seh.js
│ │ │ ├── angular-locale_ses-ml.js
│ │ │ ├── angular-locale_ses.js
│ │ │ ├── angular-locale_sg-cf.js
│ │ │ ├── angular-locale_sg.js
│ │ │ ├── angular-locale_shi-latn-ma.js
│ │ │ ├── angular-locale_shi-latn.js
│ │ │ ├── angular-locale_shi-tfng-ma.js
│ │ │ ├── angular-locale_shi-tfng.js
│ │ │ ├── angular-locale_shi.js
│ │ │ ├── angular-locale_si-lk.js
│ │ │ ├── angular-locale_si.js
│ │ │ ├── angular-locale_sk-sk.js
│ │ │ ├── angular-locale_sk.js
│ │ │ ├── angular-locale_sl-si.js
│ │ │ ├── angular-locale_sl.js
│ │ │ ├── angular-locale_smn-fi.js
│ │ │ ├── angular-locale_smn.js
│ │ │ ├── angular-locale_sn-zw.js
│ │ │ ├── angular-locale_sn.js
│ │ │ ├── angular-locale_so-dj.js
│ │ │ ├── angular-locale_so-et.js
│ │ │ ├── angular-locale_so-ke.js
│ │ │ ├── angular-locale_so-so.js
│ │ │ ├── angular-locale_so.js
│ │ │ ├── angular-locale_sq-al.js
│ │ │ ├── angular-locale_sq-mk.js
│ │ │ ├── angular-locale_sq-xk.js
│ │ │ ├── angular-locale_sq.js
│ │ │ ├── angular-locale_sr-cyrl-ba.js
│ │ │ ├── angular-locale_sr-cyrl-me.js
│ │ │ ├── angular-locale_sr-cyrl-rs.js
│ │ │ ├── angular-locale_sr-cyrl-xk.js
│ │ │ ├── angular-locale_sr-cyrl.js
│ │ │ ├── angular-locale_sr-latn-ba.js
│ │ │ ├── angular-locale_sr-latn-me.js
│ │ │ ├── angular-locale_sr-latn-rs.js
│ │ │ ├── angular-locale_sr-latn-xk.js
│ │ │ ├── angular-locale_sr-latn.js
│ │ │ ├── angular-locale_sr.js
│ │ │ ├── angular-locale_ss-sz.js
│ │ │ ├── angular-locale_ss-za.js
│ │ │ ├── angular-locale_ss.js
│ │ │ ├── angular-locale_ssy-er.js
│ │ │ ├── angular-locale_ssy.js
│ │ │ ├── angular-locale_st-ls.js
│ │ │ ├── angular-locale_st-za.js
│ │ │ ├── angular-locale_st.js
│ │ │ ├── angular-locale_sv-ax.js
│ │ │ ├── angular-locale_sv-fi.js
│ │ │ ├── angular-locale_sv-se.js
│ │ │ ├── angular-locale_sv.js
│ │ │ ├── angular-locale_sw-ke.js
│ │ │ ├── angular-locale_sw-tz.js
│ │ │ ├── angular-locale_sw-ug.js
│ │ │ ├── angular-locale_sw.js
│ │ │ ├── angular-locale_swc-cd.js
│ │ │ ├── angular-locale_swc.js
│ │ │ ├── angular-locale_ta-in.js
│ │ │ ├── angular-locale_ta-lk.js
│ │ │ ├── angular-locale_ta-my.js
│ │ │ ├── angular-locale_ta-sg.js
│ │ │ ├── angular-locale_ta.js
│ │ │ ├── angular-locale_te-in.js
│ │ │ ├── angular-locale_te.js
│ │ │ ├── angular-locale_teo-ke.js
│ │ │ ├── angular-locale_teo-ug.js
│ │ │ ├── angular-locale_teo.js
│ │ │ ├── angular-locale_tg-cyrl-tj.js
│ │ │ ├── angular-locale_tg-cyrl.js
│ │ │ ├── angular-locale_tg.js
│ │ │ ├── angular-locale_th-th.js
│ │ │ ├── angular-locale_th.js
│ │ │ ├── angular-locale_ti-er.js
│ │ │ ├── angular-locale_ti-et.js
│ │ │ ├── angular-locale_ti.js
│ │ │ ├── angular-locale_tig-er.js
│ │ │ ├── angular-locale_tig.js
│ │ │ ├── angular-locale_tl.js
│ │ │ ├── angular-locale_tn-bw.js
│ │ │ ├── angular-locale_tn-za.js
│ │ │ ├── angular-locale_tn.js
│ │ │ ├── angular-locale_to-to.js
│ │ │ ├── angular-locale_to.js
│ │ │ ├── angular-locale_tr-cy.js
│ │ │ ├── angular-locale_tr-tr.js
│ │ │ ├── angular-locale_tr.js
│ │ │ ├── angular-locale_ts-za.js
│ │ │ ├── angular-locale_ts.js
│ │ │ ├── angular-locale_twq-ne.js
│ │ │ ├── angular-locale_twq.js
│ │ │ ├── angular-locale_tzm-latn-ma.js
│ │ │ ├── angular-locale_tzm-latn.js
│ │ │ ├── angular-locale_tzm.js
│ │ │ ├── angular-locale_ug-arab-cn.js
│ │ │ ├── angular-locale_ug-arab.js
│ │ │ ├── angular-locale_ug.js
│ │ │ ├── angular-locale_uk-ua.js
│ │ │ ├── angular-locale_uk.js
│ │ │ ├── angular-locale_ur-in.js
│ │ │ ├── angular-locale_ur-pk.js
│ │ │ ├── angular-locale_ur.js
│ │ │ ├── angular-locale_uz-arab-af.js
│ │ │ ├── angular-locale_uz-arab.js
│ │ │ ├── angular-locale_uz-cyrl-uz.js
│ │ │ ├── angular-locale_uz-cyrl.js
│ │ │ ├── angular-locale_uz-latn-uz.js
│ │ │ ├── angular-locale_uz-latn.js
│ │ │ ├── angular-locale_uz.js
│ │ │ ├── angular-locale_vai-latn-lr.js
│ │ │ ├── angular-locale_vai-latn.js
│ │ │ ├── angular-locale_vai-vaii-lr.js
│ │ │ ├── angular-locale_vai-vaii.js
│ │ │ ├── angular-locale_vai.js
│ │ │ ├── angular-locale_ve-za.js
│ │ │ ├── angular-locale_ve.js
│ │ │ ├── angular-locale_vi-vn.js
│ │ │ ├── angular-locale_vi.js
│ │ │ ├── angular-locale_vo-001.js
│ │ │ ├── angular-locale_vo.js
│ │ │ ├── angular-locale_vun-tz.js
│ │ │ ├── angular-locale_vun.js
│ │ │ ├── angular-locale_wae-ch.js
│ │ │ ├── angular-locale_wae.js
│ │ │ ├── angular-locale_wal-et.js
│ │ │ ├── angular-locale_wal.js
│ │ │ ├── angular-locale_xh-za.js
│ │ │ ├── angular-locale_xh.js
│ │ │ ├── angular-locale_xog-ug.js
│ │ │ ├── angular-locale_xog.js
│ │ │ ├── angular-locale_yav-cm.js
│ │ │ ├── angular-locale_yav.js
│ │ │ ├── angular-locale_yi-001.js
│ │ │ ├── angular-locale_yi.js
│ │ │ ├── angular-locale_yo-bj.js
│ │ │ ├── angular-locale_yo-ng.js
│ │ │ ├── angular-locale_yo.js
│ │ │ ├── angular-locale_zgh-ma.js
│ │ │ ├── angular-locale_zgh.js
│ │ │ ├── angular-locale_zh-cn.js
│ │ │ ├── angular-locale_zh-hans-cn.js
│ │ │ ├── angular-locale_zh-hans-hk.js
│ │ │ ├── angular-locale_zh-hans-mo.js
│ │ │ ├── angular-locale_zh-hans-sg.js
│ │ │ ├── angular-locale_zh-hans.js
│ │ │ ├── angular-locale_zh-hant-hk.js
│ │ │ ├── angular-locale_zh-hant-mo.js
│ │ │ ├── angular-locale_zh-hant-tw.js
│ │ │ ├── angular-locale_zh-hant.js
│ │ │ ├── angular-locale_zh-hk.js
│ │ │ ├── angular-locale_zh-tw.js
│ │ │ ├── angular-locale_zh.js
│ │ │ ├── angular-locale_zu-za.js
│ │ │ ├── angular-locale_zu.js
│ │ │ ├── bower.json
│ │ │ └── package.json
│ │ ├── angular-messages/
│ │ │ ├── .bower.json
│ │ │ ├── README.md
│ │ │ ├── angular-messages.js
│ │ │ ├── bower.json
│ │ │ └── package.json
│ │ ├── angular-mocks/
│ │ │ ├── .bower.json
│ │ │ ├── README.md
│ │ │ ├── angular-mocks.js
│ │ │ ├── bower.json
│ │ │ └── package.json
│ │ ├── angular-touch/
│ │ │ ├── .bower.json
│ │ │ ├── README.md
│ │ │ ├── angular-touch.js
│ │ │ ├── bower.json
│ │ │ └── package.json
│ │ ├── angular-ui-router/
│ │ │ ├── .bower.json
│ │ │ ├── CHANGELOG.md
│ │ │ ├── CONTRIBUTING.md
│ │ │ ├── LICENSE
│ │ │ ├── README.md
│ │ │ ├── api/
│ │ │ │ └── angular-ui-router.d.ts
│ │ │ ├── bower.json
│ │ │ ├── release/
│ │ │ │ └── angular-ui-router.js
│ │ │ └── src/
│ │ │ ├── common.js
│ │ │ ├── resolve.js
│ │ │ ├── state.js
│ │ │ ├── stateDirectives.js
│ │ │ ├── stateFilters.js
│ │ │ ├── templateFactory.js
│ │ │ ├── urlMatcherFactory.js
│ │ │ ├── urlRouter.js
│ │ │ ├── view.js
│ │ │ ├── viewDirective.js
│ │ │ └── viewScroll.js
│ │ ├── assert/
│ │ │ ├── .bower.json
│ │ │ ├── API.md
│ │ │ ├── README.md
│ │ │ ├── gulpfile.js
│ │ │ ├── karma.conf.js
│ │ │ ├── npm-shrinkwrap.json
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ └── assert.js
│ │ │ ├── test/
│ │ │ │ └── assert.spec.js
│ │ │ └── test-main.js
│ │ ├── es6-module-loader/
│ │ │ ├── .bower.json
│ │ │ ├── .gitignore
│ │ │ ├── .jshintrc
│ │ │ ├── Gruntfile.js
│ │ │ ├── LICENSE-MIT
│ │ │ ├── README.md
│ │ │ ├── bower.json
│ │ │ ├── dist/
│ │ │ │ ├── es6-module-loader-sans-promises.js
│ │ │ │ ├── es6-module-loader-sans-promises.src.js
│ │ │ │ ├── es6-module-loader.js
│ │ │ │ └── es6-module-loader.src.js
│ │ │ └── src/
│ │ │ ├── loader.js
│ │ │ ├── polyfill-wrapper-end.js
│ │ │ ├── polyfill-wrapper-start.js
│ │ │ └── system.js
│ │ ├── lodash/
│ │ │ ├── .bower.json
│ │ │ ├── LICENSE.txt
│ │ │ ├── bower.json
│ │ │ └── dist/
│ │ │ ├── lodash.compat.js
│ │ │ ├── lodash.js
│ │ │ └── lodash.underscore.js
│ │ ├── normalize-css/
│ │ │ ├── .bower.json
│ │ │ ├── LICENSE.md
│ │ │ ├── README.md
│ │ │ ├── bower.json
│ │ │ └── normalize.css
│ │ ├── plugin-json/
│ │ │ ├── .bower.json
│ │ │ ├── LICENSE
│ │ │ ├── README.md
│ │ │ ├── json.js
│ │ │ ├── json.json
│ │ │ ├── package.json
│ │ │ └── test.html
│ │ ├── plugin-text/
│ │ │ ├── .bower.json
│ │ │ ├── LICENSE
│ │ │ ├── README.md
│ │ │ ├── package.json
│ │ │ ├── test.html
│ │ │ ├── text.js
│ │ │ └── text.txt
│ │ ├── system.js/
│ │ │ ├── .bower.json
│ │ │ ├── .gitignore
│ │ │ ├── LICENSE
│ │ │ ├── README.md
│ │ │ ├── bower.json
│ │ │ ├── dist/
│ │ │ │ ├── system-csp.js
│ │ │ │ ├── system-csp.src.js
│ │ │ │ ├── system.js
│ │ │ │ └── system.src.js
│ │ │ └── lib/
│ │ │ ├── banner.js
│ │ │ ├── extension-amd.js
│ │ │ ├── extension-bundles.js
│ │ │ ├── extension-cjs.js
│ │ │ ├── extension-core.js
│ │ │ ├── extension-depCache.js
│ │ │ ├── extension-global.js
│ │ │ ├── extension-map.js
│ │ │ ├── extension-meta.js
│ │ │ ├── extension-plugins.js
│ │ │ ├── extension-register.js
│ │ │ ├── extension-scriptLoader.js
│ │ │ ├── extension-versions.js
│ │ │ ├── polyfill-wrapper-end.js
│ │ │ └── polyfill-wrapper-start.js
│ │ ├── traceur/
│ │ │ ├── .bower.json
│ │ │ ├── README.md
│ │ │ ├── bower.json
│ │ │ └── traceur.js
│ │ └── traceur-runtime/
│ │ ├── .bower.json
│ │ ├── README.md
│ │ ├── bower.json
│ │ └── traceur-runtime.js
│ ├── index.html
│ └── loader.config.js
├── config/
│ ├── file-name-to-module-name.js
│ ├── karma-spec-loader.config.js
│ ├── karma.config.js
│ ├── protractor.config.js
│ ├── traceur-runtime-patch.js
│ └── traceur.config.js
├── npm-shrinkwrap.json
├── package.json
└── script/
├── build
├── css
├── e2etest
├── ensure-no-ddescribe
├── lib/
│ ├── build-production.js
│ ├── css.js
│ ├── precompile.js
│ ├── server.js
│ └── watch.js
├── precompile
├── setup
├── start
└── test
Showing preview only (268K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (3484 symbols across 544 files)
FILE: client/app/components/auth-required/auth-required.controller.js
function isParentStateActive (line 12) | function isParentStateActive(parentState) {
FILE: client/app/services/current-user/current-user.js
function get (line 7) | function get() {
FILE: client/components/angular-animate/angular-animate.js
function extractElementNode (line 462) | function extractElementNode(element) {
function prepareElement (line 471) | function prepareElement(element) {
function stripCommentsFromElement (line 475) | function stripCommentsFromElement(element) {
function isMatchingElement (line 479) | function isMatchingElement(elm1, elm2) {
function classBasedAnimationsBlocked (line 522) | function classBasedAnimationsBlocked(element, setter) {
function runAnimationPostDigest (line 532) | function runAnimationPostDigest(fn) {
function parseAnimateOptions (line 545) | function parseAnimateOptions(options) {
function resolveElementClasses (line 557) | function resolveElementClasses(element, cache, runningAnimations) {
function lookup (line 601) | function lookup(name) {
function animationRunner (line 631) | function animationRunner(element, animationEvent, className, options) {
function performAnimation (line 1280) | function performAnimation(animationEvent, className, element, parentElem...
function cancelChildAnimations (line 1498) | function cancelChildAnimations(element) {
function cleanup (line 1516) | function cleanup(element, className) {
function animationsDisabled (line 1538) | function animationsDisabled(element, parentElement) {
function clearCacheAfterReflow (line 1631) | function clearCacheAfterReflow() {
function afterReflow (line 1641) | function afterReflow(element, callback) {
function animationCloseHandler (line 1660) | function animationCloseHandler(element, totalTime) {
function closeAllAnimations (line 1684) | function closeAllAnimations(elements) {
function getElementAnimationDetails (line 1695) | function getElementAnimationDetails(element, cacheKey) {
function parseMaxTime (line 1739) | function parseMaxTime(str) {
function getCacheKey (line 1750) | function getCacheKey(element) {
function animateSetup (line 1760) | function animateSetup(animationEvent, element, className, styles) {
function animateRun (line 1823) | function animateRun(animationEvent, element, className, activeAnimationC...
function blockTransitions (line 1978) | function blockTransitions(node, bool) {
function blockAnimations (line 1982) | function blockAnimations(node, bool) {
function animateBefore (line 1986) | function animateBefore(animationEvent, element, className, styles) {
function animateAfter (line 1994) | function animateAfter(animationEvent, element, className, afterAnimation...
function animate (line 2003) | function animate(animationEvent, element, className, animationComplete, ...
function animateClose (line 2032) | function animateClose(element, className) {
function suffixClasses (line 2122) | function suffixClasses(classes, suffix) {
FILE: client/components/angular-aria/angular-aria.js
function $AriaProvider (line 81) | function $AriaProvider() {
function shouldAttachAttr (line 207) | function shouldAttachAttr(attr, elem) {
function getShape (line 211) | function getShape(attr, elem) {
function ngAriaWatchModelValue (line 228) | function ngAriaWatchModelValue() {
function getRadioReaction (line 232) | function getRadioReaction() {
function ngAriaCheckboxReaction (line 247) | function ngAriaCheckboxReaction(newVal) {
FILE: client/components/angular-i18n/angular-locale_aa-dj.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_aa-er.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_aa-et.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_aa.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_agq-cm.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_agq.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ak-gh.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ak.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_as-in.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_as.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_asa-tz.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_asa.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ast-es.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ast.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_bas-cm.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_bas.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_be-by.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_be.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_bem-zm.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_bem.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_bez-tz.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_bez.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_bm-latn-ml.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_bm-latn.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_bm-ml.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_bm.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_bo-cn.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_bo-in.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_bo.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_brx-in.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_brx.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_bs-cyrl-ba.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_bs-cyrl.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_bs-latn-ba.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_bs-latn.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_bs.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_byn-er.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_byn.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ca-ad.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ca-es-valencia.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ca-es.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ca-fr.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ca-it.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ca.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_cgg-ug.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_cgg.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ckb-arab-iq.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ckb-arab-ir.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ckb-arab.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ckb-iq.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ckb-ir.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ckb-latn-iq.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ckb-latn.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ckb.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_cs-cz.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_cs.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_da-dk.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
function getWT (line 22) | function getWT(v, f) {
FILE: client/components/angular-i18n/angular-locale_da-gl.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
function getWT (line 22) | function getWT(v, f) {
FILE: client/components/angular-i18n/angular-locale_da.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
function getWT (line 22) | function getWT(v, f) {
FILE: client/components/angular-i18n/angular-locale_dav-ke.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_dav.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_de-at.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_de-be.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_de-ch.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_de-de.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_de-li.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_de-lu.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_de.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_dje-ne.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_dje.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_dsb-de.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_dsb.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_dua-cm.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_dua.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_dyo-sn.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_dyo.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_dz-bt.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_dz.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ebu-ke.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ebu.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ee-gh.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ee-tg.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ee.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-001.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-150.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-ag.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-ai.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-as.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-au.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-bb.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-be.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-bm.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-bs.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-bw.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-bz.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-ca.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-cc.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-ck.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-cm.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-cx.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-dg.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-dm.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-er.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-fj.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-fk.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-fm.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-gb.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-gd.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-gg.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-gh.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-gi.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-gm.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-gu.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-gy.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-hk.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-ie.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-im.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-in.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-io.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-iso.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-je.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-jm.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-ke.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-ki.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-kn.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-ky.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-lc.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-lr.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-ls.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-mg.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-mh.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-mo.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-mp.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-ms.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-mt.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-mu.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-mw.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-my.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-na.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-nf.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-ng.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-nr.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-nu.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-nz.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-pg.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-ph.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-pk.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-pn.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-pr.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-pw.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-rw.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-sb.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-sc.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-sd.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-sg.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-sh.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-sl.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-ss.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-sx.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-sz.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-tc.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-tk.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-to.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-tt.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-tv.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-tz.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-ug.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-um.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-us.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-vc.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-vg.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-vi.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-vu.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-ws.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-za.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-zm.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en-zw.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_en.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_eo-001.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_eo.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_et-ee.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_et.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ewo-cm.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ewo.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ff-cm.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ff-gn.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ff-mr.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ff-sn.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ff.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_fi-fi.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_fi.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_fil-ph.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_fil.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_fo-fo.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_fo.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_fur-it.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_fur.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_fy-nl.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_fy.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_gd-gb.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_gd.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_gl-es.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_gl.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_guz-ke.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_guz.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_gv-im.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_gv.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ha-latn-gh.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ha-latn-ne.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ha-latn-ng.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ha-latn.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ha.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_he-il.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_he.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_hr-ba.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_hr-hr.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_hr.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_hsb-de.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_hsb.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ia-fr.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ia.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ig-ng.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ig.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ii-cn.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ii.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_is-is.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
function getWT (line 22) | function getWT(v, f) {
FILE: client/components/angular-i18n/angular-locale_is.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
function getWT (line 22) | function getWT(v, f) {
FILE: client/components/angular-i18n/angular-locale_it-ch.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_it-it.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_it-sm.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_it.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_iw.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_jgo-cm.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_jgo.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_jmc-tz.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_jmc.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_kab-dz.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_kab.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_kam-ke.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_kam.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_kde-tz.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_kde.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_kea-cv.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_kea.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_khq-ml.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_khq.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ki-ke.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ki.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_kkj-cm.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_kkj.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_kl-gl.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_kl.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_kln-ke.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_kln.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_kok-in.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_kok.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ks-arab-in.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ks-arab.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ks.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ksb-tz.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ksb.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ksf-cm.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ksf.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ksh-de.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ksh.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_kw-gb.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_kw.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_lag-tz.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_lag.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_lb-lu.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_lb.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_lg-ug.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_lg.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_lkt-us.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_lkt.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_lt-lt.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_lt.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_lu-cd.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_lu.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_luo-ke.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_luo.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_luy-ke.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_luy.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_lv-lv.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_lv.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_mas-ke.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_mas-tz.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_mas.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_mer-ke.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_mer.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_mfe-mu.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_mfe.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_mg-mg.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_mg.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_mgh-mz.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_mgh.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_mgo-cm.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_mgo.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_mk-mk.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_mk.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_mua-cm.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_mua.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_naq-na.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_naq.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_nd-zw.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_nd.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_nl-aw.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_nl-be.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_nl-bq.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_nl-cw.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_nl-nl.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_nl-sr.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_nl-sx.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_nl.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_nmg-cm.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_nmg.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_nn-no.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_nn.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_nnh-cm.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_nnh.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_nr-za.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_nr.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_nso-za.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_nso.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_nus-sd.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_nus.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_nyn-ug.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_nyn.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_om-et.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_om-ke.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_om.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_os-ge.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_os-ru.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_os.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_pl-pl.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_pl.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ps-af.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ps.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_qu-bo.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_qu-ec.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_qu-pe.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_qu.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_rm-ch.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_rm.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_rn-bi.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_rn.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ro-md.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ro-ro.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ro.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_rof-tz.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_rof.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ru-by.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ru-kg.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ru-kz.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ru-md.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ru-ru.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ru-ua.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ru.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_rw-rw.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_rw.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_rwk-tz.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_rwk.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_sah-ru.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_sah.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_saq-ke.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_saq.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_sbp-tz.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_sbp.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_se-fi.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_se-no.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_se-se.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_se.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_seh-mz.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_seh.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ses-ml.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ses.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_sg-cf.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_sg.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_shi-latn-ma.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_shi-latn.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_shi-tfng-ma.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_shi-tfng.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_shi.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_si-lk.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_si.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_sk-sk.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_sk.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_sl-si.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_sl.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_smn-fi.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_smn.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_sn-zw.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_sn.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_so-dj.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_so-et.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_so-ke.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_so-so.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_so.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_sr-cyrl-ba.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_sr-cyrl-me.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_sr-cyrl-rs.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_sr-cyrl-xk.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_sr-cyrl.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_sr-latn-ba.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_sr-latn-me.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_sr-latn-rs.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_sr-latn-xk.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_sr-latn.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_sr.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ss-sz.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ss-za.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ss.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ssy-er.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ssy.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_st-ls.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_st-za.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_st.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_sv-ax.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_sv-fi.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_sv-se.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_sv.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_sw-ke.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_sw-tz.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_sw-ug.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_sw.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_swc-cd.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_swc.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_teo-ke.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_teo-ug.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_teo.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_tg-cyrl-tj.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_tg-cyrl.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_tg.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ti-er.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ti-et.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ti.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_tig-er.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_tig.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_tl.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_tn-bw.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_tn-za.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_tn.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_to-to.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_to.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ts-za.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ts.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_twq-ne.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_twq.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_tzm-latn-ma.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_tzm-latn.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_tzm.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ug-arab-cn.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ug-arab.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ug.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_uk-ua.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_uk.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ur-in.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ur-pk.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ur.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_vai-latn-lr.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_vai-latn.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_vai-vaii-lr.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_vai-vaii.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_vai.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ve-za.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_ve.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_vo-001.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_vo.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_vun-tz.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_vun.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_wae-ch.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_wae.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_wal-et.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_wal.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_xh-za.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_xh.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_xog-ug.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_xog.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_yav-cm.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_yav.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_yi-001.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_yi.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_yo-bj.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_yo-ng.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_yo.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_zgh-ma.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-i18n/angular-locale_zgh.js
function getDecimals (line 4) | function getDecimals(n) {
function getVF (line 10) | function getVF(n, opt_precision) {
FILE: client/components/angular-messages/angular-messages.js
function truthyVal (line 280) | function truthyVal(value) {
FILE: client/components/angular-mocks/angular-mocks.js
function concat (line 306) | function concat(array1, array2, index) {
function tick (line 481) | function tick() {
function jsonStringToDate (line 577) | function jsonStringToDate(string) {
function int (line 597) | function int(str) {
function padNumber (line 601) | function padNumber(num, digits, trim) {
function serialize (line 854) | function serialize(object) {
function serializeScope (line 887) | function serializeScope(scope, offset) {
function createHttpBackendMock (line 1139) | function createHttpBackendMock($rootScope, $delegate, $browser) {
function MockHttpExpectation (line 1613) | function MockHttpExpectation(method, url, data, headers) {
function createMockXhr (line 1654) | function createMockXhr() {
function MockXhr (line 1658) | function MockXhr() {
function formatPendingTasksAsString (line 1747) | function formatPendingTasksAsString(tasks) {
function countChildScopes (line 2079) | function countChildScopes() {
function countWatchers (line 2111) | function countWatchers() {
function workFn (line 2198) | function workFn() {
function workFn (line 2322) | function workFn() {
function workFn (line 2367) | function workFn() {
FILE: client/components/angular-touch/angular-touch.js
function getCoordinates (line 69) | function getCoordinates(event) {
function getEvents (line 82) | function getEvents(pointerTypes, eventType) {
function hit (line 295) | function hit(x1, y1, x2, y2) {
function checkAllowableRegions (line 302) | function checkAllowableRegions(touchCoordinates, x, y) {
function onClick (line 314) | function onClick(event) {
function onTouchStart (line 360) | function onTouchStart(event) {
function preventGhostClick (line 379) | function preventGhostClick(x, y) {
function resetState (line 400) | function resetState() {
function makeSwipeDirective (line 558) | function makeSwipeDirective(directiveName, direction, eventName) {
FILE: client/components/angular-ui-router/api/angular-ui-router.d.ts
type IState (line 8) | interface IState {
type ITypedState (line 27) | interface ITypedState<T> extends IState {
type IStateProvider (line 31) | interface IStateProvider extends IServiceProvider {
type IUrlMatcher (line 37) | interface IUrlMatcher {
type IUrlMatcherFactory (line 44) | interface IUrlMatcherFactory {
type IUrlRouterProvider (line 49) | interface IUrlRouterProvider extends IServiceProvider {
type IStateOptions (line 66) | interface IStateOptions {
type IHrefOptions (line 74) | interface IHrefOptions {
type IStateService (line 81) | interface IStateService {
type IStateParamsService (line 97) | interface IStateParamsService {
type IStateParams (line 101) | interface IStateParams {
type IUrlRouterService (line 105) | interface IUrlRouterService {
type IUiViewScrollProvider (line 119) | interface IUiViewScrollProvider {
FILE: client/components/angular-ui-router/release/angular-ui-router.js
function inherit (line 27) | function inherit(parent, extra) {
function merge (line 31) | function merge(dst) {
function ancestors (line 49) | function ancestors(first, second) {
function objectKeys (line 65) | function objectKeys(object) {
function indexOf (line 84) | function indexOf(array, value) {
function inheritParams (line 108) | function inheritParams(currentParams, newParams, $current, $to) {
function equalForKeys (line 134) | function equalForKeys(a, b, keys) {
function filterByKeys (line 154) | function filterByKeys(keys, values) {
function indexBy (line 165) | function indexBy(array, propName) {
function pick (line 175) | function pick(obj) {
function omit (line 186) | function omit(obj) {
function pluck (line 195) | function pluck(collection, key) {
function filter (line 204) | function filter(collection, callback) {
function map (line 215) | function map(collection, callback) {
function $Resolve (line 318) | function $Resolve( $q, $injector) {
function $TemplateFactory (line 572) | function $TemplateFactory( $http, $templateCache, $injector) {
function UrlMatcher (line 738) | function UrlMatcher(pattern, config, parentMatcher) {
function decodePathArray (line 913) | function decodePathArray(string) {
function encodeDashes (line 999) | function encodeDashes(str) { // Replace dashes with encoded "\-"
function Type (line 1069) | function Type(config) {
function ArrayType (line 1168) | function ArrayType(type, mode) {
function $UrlMatcherFactory (line 1229) | function $UrlMatcherFactory() {
function $UrlRouterProvider (line 1725) | function $UrlRouterProvider( $locationProvider, $urlMatcherFactory) {
function $StateProvider (line 2144) | function $StateProvider( $urlRouterProvider, $urlMatcherFactory) {
function $ViewProvider (line 3498) | function $ViewProvider() {
function $ViewScrollProvider (line 3575) | function $ViewScrollProvider() {
function $ViewDirective (line 3735) | function $ViewDirective( $state, $injector, $uiViewScroll, $inte...
function $ViewDirectiveFill (line 3875) | function $ViewDirectiveFill ( $compile, $controller, $state, $int...
function getUiViewName (line 3915) | function getUiViewName(scope, attrs, element, $interpolate) {
function parseStateRef (line 3924) | function parseStateRef(ref, current) {
function stateContext (line 3932) | function stateContext(el) {
function $StateRefDirective (line 4003) | function $StateRefDirective($state, $timeout) {
function $StateRefActiveDirective (line 4148) | function $StateRefActiveDirective($state, $stateParams, $interpolate) {
function $IsStateFilter (line 4203) | function $IsStateFilter($state) {
function $IncludedByStateFilter (line 4221) | function $IncludedByStateFilter($state) {
FILE: client/components/angular-ui-router/src/common.js
function inherit (line 14) | function inherit(parent, extra) {
function merge (line 18) | function merge(dst) {
function ancestors (line 36) | function ancestors(first, second) {
function objectKeys (line 52) | function objectKeys(object) {
function indexOf (line 71) | function indexOf(array, value) {
function inheritParams (line 95) | function inheritParams(currentParams, newParams, $current, $to) {
function equalForKeys (line 121) | function equalForKeys(a, b, keys) {
function filterByKeys (line 141) | function filterByKeys(keys, values) {
function indexBy (line 152) | function indexBy(array, propName) {
function pick (line 162) | function pick(obj) {
function omit (line 173) | function omit(obj) {
function pluck (line 182) | function pluck(collection, key) {
function filter (line 191) | function filter(collection, callback) {
function map (line 202) | function map(collection, callback) {
FILE: client/components/angular-ui-router/src/resolve.js
function $Resolve (line 12) | function $Resolve( $q, $injector) {
FILE: client/components/angular-ui-router/src/state.js
function $StateProvider (line 23) | function $StateProvider( $urlRouterProvider, $urlMatcherFactory) {
FILE: client/components/angular-ui-router/src/stateDirectives.js
function parseStateRef (line 1) | function parseStateRef(ref, current) {
function stateContext (line 9) | function stateContext(el) {
function $StateRefDirective (line 80) | function $StateRefDirective($state, $timeout) {
function $StateRefActiveDirective (line 225) | function $StateRefActiveDirective($state, $stateParams, $interpolate) {
FILE: client/components/angular-ui-router/src/stateFilters.js
function $IsStateFilter (line 11) | function $IsStateFilter($state) {
function $IncludedByStateFilter (line 29) | function $IncludedByStateFilter($state) {
FILE: client/components/angular-ui-router/src/templateFactory.js
function $TemplateFactory (line 13) | function $TemplateFactory( $http, $templateCache, $injector) {
FILE: client/components/angular-ui-router/src/urlMatcherFactory.js
function UrlMatcher (line 68) | function UrlMatcher(pattern, config, parentMatcher) {
function decodePathArray (line 243) | function decodePathArray(string) {
function encodeDashes (line 329) | function encodeDashes(str) { // Replace dashes with encoded "\-"
function Type (line 399) | function Type(config) {
function ArrayType (line 498) | function ArrayType(type, mode) {
function $UrlMatcherFactory (line 559) | function $UrlMatcherFactory() {
FILE: client/components/angular-ui-router/src/urlRouter.js
function $UrlRouterProvider (line 18) | function $UrlRouterProvider( $locationProvider, $urlMatcherFactory) {
FILE: client/components/angular-ui-router/src/view.js
function $ViewProvider (line 3) | function $ViewProvider() {
FILE: client/components/angular-ui-router/src/viewDirective.js
function $ViewDirective (line 115) | function $ViewDirective( $state, $injector, $uiViewScroll, $inte...
function $ViewDirectiveFill (line 255) | function $ViewDirectiveFill ( $compile, $controller, $state, $int...
function getUiViewName (line 295) | function getUiViewName(scope, attrs, element, $interpolate) {
FILE: client/components/angular-ui-router/src/viewScroll.js
function $ViewScrollProvider (line 8) | function $ViewScrollProvider() {
FILE: client/components/angular/angular.js
function minErr (line 38) | function minErr(module, ErrorConstructor) {
function isArrayLike (line 257) | function isArrayLike(obj) {
function forEach (line 307) | function forEach(obj, iterator, context) {
function sortedKeys (line 338) | function sortedKeys(obj) {
function forEachSorted (line 342) | function forEachSorted(obj, iterator, context) {
function reverseParams (line 356) | function reverseParams(iteratorFn) {
function nextUid (line 370) | function nextUid() {
function setHashKey (line 380) | function setHashKey(obj, h) {
function extend (line 405) | function extend(dst) {
function int (line 423) | function int(str) {
function inherit (line 428) | function inherit(parent, extra) {
function noop (line 448) | function noop() {}
function identity (line 468) | function identity($) {return $;}
function valueFn (line 472) | function valueFn(value) {return function() {return value;};}
function isUndefined (line 486) | function isUndefined(value) {return typeof value === 'undefined';}
function isDefined (line 501) | function isDefined(value) {return typeof value !== 'undefined';}
function isObject (line 517) | function isObject(value) {
function isString (line 535) | function isString(value) {return typeof value === 'string';}
function isNumber (line 550) | function isNumber(value) {return typeof value === 'number';}
function isDate (line 565) | function isDate(value) {
function isFunction (line 596) | function isFunction(value) {return typeof value === 'function';}
function isRegExp (line 606) | function isRegExp(value) {
function isWindow (line 618) | function isWindow(obj) {
function isScope (line 623) | function isScope(obj) {
function isFile (line 628) | function isFile(obj) {
function isBlob (line 633) | function isBlob(obj) {
function isBoolean (line 638) | function isBoolean(value) {
function isPromiseLike (line 643) | function isPromiseLike(obj) {
function isElement (line 673) | function isElement(node) {
function makeMap (line 683) | function makeMap(str) {
function nodeName_ (line 691) | function nodeName_(element) {
function includes (line 695) | function includes(array, obj) {
function arrayRemove (line 699) | function arrayRemove(array, value) {
function copy (line 764) | function copy(source, destination, stackSource, stackDest) {
function shallowCopy (line 842) | function shallowCopy(src, dst) {
function equals (line 892) | function equals(o1, o2) {
function concat (line 954) | function concat(array1, array2, index) {
function sliceArgs (line 958) | function sliceArgs(args, startIndex) {
function bind (line 982) | function bind(self, fn) {
function toJsonReplacer (line 1003) | function toJsonReplacer(key, value) {
function toJson (line 1034) | function toJson(obj, pretty) {
function fromJson (line 1052) | function fromJson(json) {
function startingTag (line 1062) | function startingTag(element) {
function tryDecodeURIComponent (line 1092) | function tryDecodeURIComponent(value) {
function parseKeyValue (line 1105) | function parseKeyValue(/**string*/keyValue) {
function toKeyValue (line 1126) | function toKeyValue(obj) {
function encodeUriSegment (line 1154) | function encodeUriSegment(val) {
function encodeUriQuery (line 1173) | function encodeUriQuery(val, pctEncodeSpaces) {
function getNgAttribute (line 1185) | function getNgAttribute(element, ngAttr) {
function angularInit (line 1324) | function angularInit(element, bootstrap) {
function bootstrap (line 1403) | function bootstrap(element, modules, config) {
function reloadWithDebugInfo (line 1477) | function reloadWithDebugInfo() {
function getTestability (line 1490) | function getTestability(rootElement) {
function snake_case (line 1495) | function snake_case(name, separator) {
function bindJQuery (line 1504) | function bindJQuery() {
function assertArg (line 1558) | function assertArg(arg, name, reason) {
function assertArgFn (line 1565) | function assertArgFn(arg, name, acceptArrayAnnotation) {
function assertNotHasOwnProperty (line 1580) | function assertNotHasOwnProperty(name, context) {
function getter (line 1594) | function getter(obj, path, bindFnToScope) {
function getBlockNodes (line 1618) | function getBlockNodes(nodes) {
function createMap (line 1646) | function createMap() {
function setupModuleLoader (line 1665) | function setupModuleLoader(window) {
function serializeObject (line 1975) | function serializeObject(obj) {
function toDebugString (line 1990) | function toDebugString(obj) {
function publishExternalAPI (line 2111) | function publishExternalAPI(angular) {
function jqNextId (line 2362) | function jqNextId() { return ++jqId; }
function camelCase (line 2375) | function camelCase(name) {
function jqLiteIsTextNode (line 2403) | function jqLiteIsTextNode(html) {
function jqLiteAcceptsData (line 2407) | function jqLiteAcceptsData(node) {
function jqLiteBuildFragment (line 2414) | function jqLiteBuildFragment(html, context) {
function jqLiteParseHTML (line 2451) | function jqLiteParseHTML(html, context) {
function JQLite (line 2467) | function JQLite(element) {
function jqLiteClone (line 2492) | function jqLiteClone(element) {
function jqLiteDealoc (line 2496) | function jqLiteDealoc(element, onlyDescendants) {
function jqLiteOff (line 2507) | function jqLiteOff(element, type, fn, unsupported) {
function jqLiteRemoveData (line 2539) | function jqLiteRemoveData(element, name) {
function jqLiteExpandoStore (line 2561) | function jqLiteExpandoStore(element, createIfNecessary) {
function jqLiteData (line 2574) | function jqLiteData(element, key, value) {
function jqLiteHasClass (line 2600) | function jqLiteHasClass(element, selector) {
function jqLiteRemoveClass (line 2606) | function jqLiteRemoveClass(element, cssClasses) {
function jqLiteAddClass (line 2618) | function jqLiteAddClass(element, cssClasses) {
function jqLiteAddNodes (line 2635) | function jqLiteAddNodes(root, elements) {
function jqLiteController (line 2661) | function jqLiteController(element, name) {
function jqLiteInheritedData (line 2665) | function jqLiteInheritedData(element, name, value) {
function jqLiteEmpty (line 2685) | function jqLiteEmpty(element) {
function jqLiteRemove (line 2692) | function jqLiteRemove(element, keepData) {
function jqLiteDocumentLoaded (line 2699) | function jqLiteDocumentLoaded(action, win) {
function trigger (line 2719) | function trigger() {
function getBooleanAttrName (line 2773) | function getBooleanAttrName(element, name) {
function getAliasedAttrName (line 2781) | function getAliasedAttrName(element, name) {
function getText (line 2869) | function getText(element, value) {
function createEventHandler (line 2954) | function createEventHandler(element, events) {
function hashKey (line 3259) | function hashKey(obj, nextUidFn) {
function HashMap (line 3282) | function HashMap(array, isolatedUid) {
function anonFn (line 3388) | function anonFn(fn) {
function annotate (line 3399) | function annotate(fn, strictDi, name) {
function createInjector (line 3932) | function createInjector(modulesToLoad, strictDi) {
function $AnchorScrollProvider (line 4173) | function $AnchorScrollProvider() {
function runAnimationPostDigest (line 4516) | function runAnimationPostDigest(fn) {
function resolveElementClasses (line 4531) | function resolveElementClasses(element, classes) {
function cachedClassManipulation (line 4557) | function cachedClassManipulation(cache, classes, op) {
function asyncPromise (line 4564) | function asyncPromise() {
function applyStyles (line 4576) | function applyStyles(element, options) {
function $$AsyncCallbackProvider (line 4801) | function $$AsyncCallbackProvider() {
function Browser (line 4834) | function Browser(window, document, $log, $sniffer) {
function $BrowserProvider (line 5260) | function $BrowserProvider() {
function $CacheFactoryProvider (line 5348) | function $CacheFactoryProvider() {
function $TemplateCacheProvider (line 5661) | function $TemplateCacheProvider() {
function $CompileProvider (line 6366) | function $CompileProvider($provide, $$sanitizeUriProvider) {
function directiveNormalize (line 8161) | function directiveNormalize(name) {
function nodesetLinkingFn (line 8210) | function nodesetLinkingFn(
function directiveLinkingFn (line 8217) | function directiveLinkingFn(
function tokenDifference (line 8225) | function tokenDifference(str1, str2) {
function removeComments (line 8241) | function removeComments(jqNodes) {
function $ControllerProvider (line 8268) | function $ControllerProvider() {
function $DocumentProvider (line 8430) | function $DocumentProvider() {
function $ExceptionHandlerProvider (line 8476) | function $ExceptionHandlerProvider() {
function defaultHttpResponseTransform (line 8490) | function defaultHttpResponseTransform(data, headers) {
function parseHeaders (line 8509) | function parseHeaders(headers) {
function headersGetter (line 8540) | function headersGetter(headers) {
function transformData (line 8569) | function transformData(data, headers, fns) {
function isSuccess (line 8581) | function isSuccess(status) {
function $HttpProvider (line 8592) | function $HttpProvider() {
function createXhr (line 9625) | function createXhr() {
function $HttpBackendProvider (line 9645) | function $HttpBackendProvider() {
function createHttpBackend (line 9651) | function createHttpBackend($browser, createXhr, $browserDefer, callbacks...
function $InterpolateProvider (line 9835) | function $InterpolateProvider() {
function $IntervalProvider (line 10145) | function $IntervalProvider() {
function $LocaleProvider (line 10340) | function $LocaleProvider() {
function encodePath (line 10413) | function encodePath(path) {
function parseAbsoluteUrl (line 10424) | function parseAbsoluteUrl(absoluteUrl, locationObj) {
function parseAppUrl (line 10433) | function parseAppUrl(relativeUrl, locationObj) {
function beginsWith (line 10458) | function beginsWith(begin, whole) {
function stripHash (line 10465) | function stripHash(url) {
function stripFile (line 10471) | function stripFile(url) {
function serverBase (line 10476) | function serverBase(url) {
function LocationHtml5Url (line 10489) | function LocationHtml5Url(appBase, basePrefix) {
function LocationHashbangUrl (line 10568) | function LocationHashbangUrl(appBase, hashPrefix) {
function LocationHashbangInHtml5Url (line 10663) | function LocationHashbangInHtml5Url(appBase, hashPrefix) {
function locationGetter (line 11019) | function locationGetter(property) {
function locationGetterSetter (line 11026) | function locationGetterSetter(property, preprocess) {
function $LocationProvider (line 11071) | function $LocationProvider() {
function $LogProvider (line 11394) | function $LogProvider() {
function ensureSafeMemberName (line 11539) | function ensureSafeMemberName(name, fullExpression) {
function ensureSafeObject (line 11550) | function ensureSafeObject(obj, fullExpression) {
function ensureSafeFunction (line 11581) | function ensureSafeFunction(obj, fullExpression) {
function isConstant (line 11827) | function isConstant(exp) {
function setter (line 12312) | function setter(obj, path, setValue, fullExp) {
function isPossiblyDangerousMemberName (line 12334) | function isPossiblyDangerousMemberName(name) {
function cspSafeGetterFn (line 12343) | function cspSafeGetterFn(key0, key1, key2, key3, key4, fullExp, expensiv...
function getterFnWithEnsureSafeObject (line 12384) | function getterFnWithEnsureSafeObject(fn, fullExpression) {
function getterFn (line 12390) | function getterFn(path, options, fullExp) {
function getValueOf (line 12459) | function getValueOf(value) {
function $ParseProvider (line 12514) | function $ParseProvider() {
function $QProvider (line 12975) | function $QProvider() {
function $$QProvider (line 12984) | function $$QProvider() {
function qFactory (line 13000) | function qFactory(nextTick, exceptionHandler) {
function $$RAFProvider (line 13332) | function $$RAFProvider() { //rAF
function $RootScopeProvider (line 13431) | function $RootScopeProvider() {
function $$SanitizeUriProvider (line 14696) | function $$SanitizeUriProvider() {
function adjustMatcher (line 14776) | function adjustMatcher(matcher) {
function adjustMatchers (line 14804) | function adjustMatchers(matchers) {
function $SceDelegateProvider (line 14882) | function $SceDelegateProvider() {
function $SceProvider (line 15412) | function $SceProvider() {
function $SnifferProvider (line 15824) | function $SnifferProvider() {
function $TemplateRequestProvider (line 15914) | function $TemplateRequestProvider() {
function $$TestabilityProvider (line 15958) | function $$TestabilityProvider() {
function $TimeoutProvider (line 16073) | function $TimeoutProvider() {
function urlResolve (line 16219) | function urlResolve(url) {
function urlIsSameOrigin (line 16253) | function urlIsSameOrigin(requestUrl) {
function $WindowProvider (line 16300) | function $WindowProvider() {
function $FilterProvider (line 16397) | function $FilterProvider($provide) {
function filterFilter (line 16567) | function filterFilter() {
function currencyFilter (line 16726) | function currencyFilter($locale) {
function numberFilter (line 16797) | function numberFilter($locale) {
function formatNumber (line 16810) | function formatNumber(number, pattern, groupSep, decimalSep, fractionSiz...
function padNumber (line 16892) | function padNumber(num, digits, trim) {
function dateGetter (line 16906) | function dateGetter(name, size, offset, trim) {
function dateStrGetter (line 16917) | function dateStrGetter(name, shortForm) {
function timeZoneGetter (line 16926) | function timeZoneGetter(date) {
function getFirstThursdayOfYear (line 16936) | function getFirstThursdayOfYear(year) {
function getThursdayThisWeek (line 16944) | function getThursdayThisWeek(datetime) {
function weekGetter (line 16950) | function weekGetter(size) {
function ampmGetter (line 16962) | function ampmGetter(date, formats) {
function dateFilter (line 17088) | function dateFilter($locale) {
function jsonFilter (line 17191) | function jsonFilter() {
function limitToFilter (line 17305) | function limitToFilter() {
function orderByFilter (line 17466) | function orderByFilter($parse) {
function ngDirective (line 17531) | function ngDirective(directive) {
function nullFormRenameControl (line 18009) | function nullFormRenameControl(control, name) {
function FormController (line 18056) | function FormController(element, attrs, $scope, $animate, $interpolate) {
function stringBasedInputType (line 19455) | function stringBasedInputType(ctrl) {
function textInputType (line 19461) | function textInputType(scope, element, attr, ctrl, $sniffer, $browser) {
function baseInputType (line 19466) | function baseInputType(scope, element, attr, ctrl, $sniffer, $browser) {
function weekParser (line 19556) | function weekParser(isoWeek, existingDate) {
function createDateParser (line 19588) | function createDateParser(regexp, mapping) {
function createDateInputType (line 19638) | function createDateInputType(type, regexp, parseDate, format) {
function badInputChecker (line 19711) | function badInputChecker(scope, element, attr, ctrl) {
function numberInputType (line 19726) | function numberInputType(scope, element, attr, ctrl, $sniffer, $browser) {
function urlInputType (line 19780) | function urlInputType(scope, element, attr, ctrl, $sniffer, $browser) {
function emailInputType (line 19793) | function emailInputType(scope, element, attr, ctrl, $sniffer, $browser) {
function radioInputType (line 19806) | function radioInputType(scope, element, attr, ctrl) {
function parseConstantExpr (line 19828) | function parseConstantExpr($parse, context, name, expression, fallback) {
function checkboxInputType (line 19841) | function checkboxInputType(scope, element, attr, ctrl, $sniffer, $browse...
function processParseErrors (line 20586) | function processParseErrors(parseValid) {
function processSyncValidators (line 20605) | function processSyncValidators() {
function processAsyncValidators (line 20621) | function processAsyncValidators() {
function setValidity (line 20647) | function setValidity(name, isValid) {
function validationDone (line 20653) | function validationDone(allValid) {
function writeToModelIfNeeded (line 20728) | function writeToModelIfNeeded() {
function addSetValidityMethod (line 21625) | function addSetValidityMethod(context) {
function isObjectEmpty (line 21719) | function isObjectEmpty(obj) {
function classDirective (line 21934) | function classDirective(name, selector) {
function updateElementText (line 23985) | function updateElementText(newText) {
function setupAsSingle (line 25426) | function setupAsSingle(scope, selectElement, ngModelCtrl, selectCtrl) {
function setupAsMultiple (line 25451) | function setupAsMultiple(scope, selectElement, ctrl) {
function setupAsOptions (line 25482) | function setupAsOptions(scope, selectElement, ctrl) {
FILE: client/components/assert/src/assert.js
function argPositionName (line 8) | function argPositionName(i) {
function assertArgumentTypes (line 16) | function assertArgumentTypes(...params) {
function prettyPrint (line 47) | function prettyPrint(value) {
function isType (line 76) | function isType(value, T, errors) {
function formatErrors (line 142) | function formatErrors(errors, indent = ' ') {
function type (line 151) | function type(actual, T) {
function returnType (line 167) | function returnType(actual, T) {
function arrayOf (line 213) | function arrayOf(...types) {
function structure (line 223) | function structure(definition) {
function fail (line 239) | function fail(message) {
function define (line 243) | function define(classOrName, check) {
function assert (line 269) | function assert(value) {
FILE: client/components/assert/test/assert.spec.js
class Type (line 25) | class Type {}
class Type (line 53) | class Type {}
class Type (line 180) | class Type {}
function reverse (line 293) | function reverse(str: string) {
function foo (line 312) | function foo(bar): number {
function foo (line 344) | function foo(bar): void {
function nonReturn (line 349) | function nonReturn(): void {}
function returnNothing (line 350) | function returnNothing(): void { return; }
function returnUndefined (line 351) | function returnUndefined(): void { return undefined; }
FILE: client/components/es6-module-loader/dist/es6-module-loader-sans-promises.js
function __eval (line 7) | function __eval(__source,__global,load){var __curRegister=System.registe...
function c (line 7) | function c(){}
function a (line 7) | function a(a){return{status:"loading",name:a,linkSets:[],dependencies:[]...
function b (line 7) | function b(a,b,c){return new A(g({step:c.address?"fetch":"locate",loader...
function c (line 7) | function c(b,c,e,f){return new A(function(a){a(b.loaderObj.normalize(c,e...
function d (line 7) | function d(a,b){e(a,b,A.resolve().then(function(){return a.loaderObj.loc...
function e (line 7) | function e(a,b,c){f(a,b,c.then(function(c){return"loading"==b.status?(b....
function f (line 7) | function f(a,b,d){d.then(function(c){return"loading"==b.status?a.loaderO...
function g (line 7) | function g(b){return function(c){var g=b.loader,i=b.moduleName,j=b.step;...
function h (line 7) | function h(a,b){var c={loader:a,loads:[],startingLoad:b,loadingCount:0};...
function i (line 7) | function i(a,b){for(var c=0,d=a.loads.length;d>c;c++)if(a.loads[c]==b)re...
function j (line 7) | function j(a){var b=!1;try{p(a,function(c,d){l(a,c,d),b=!0})}catch(c){l(...
function k (line 7) | function k(a,b){if(a.loadingCount--,!(a.loadingCount>0)){var c=a.startin...
function l (line 7) | function l(a,b,c){var d=a.loader;a.loads[0].name!=b.name&&(c=w(c,'Error ...
function m (line 7) | function m(a,b){if(a.loaderObj.trace){a.loaderObj.loads||(a.loaderObj.lo...
function n (line 7) | function n(a,b,c,d){if(c[a.groupIndex]=c[a.groupIndex]||[],-1==B.call(c[...
function o (line 7) | function o(a,b,c){try{var d=b.execute()}catch(e){return void c(b,e)}retu...
function p (line 7) | function p(a,b){var c=a.loader;if(a.loads.length){var d=[],e=a.loads[0];...
function q (line 7) | function q(a,b){var c=b.moduleRecords;return c[a]||(c[a]={name:a,depende...
function r (line 7) | function r(a,b,c){if(!a.module){var d=a.module=q(a.name,c),e=a.module.mo...
function s (line 7) | function s(a,b){return u(b.module,[],a),b.module.module}
function t (line 7) | function t(a){try{a.execute.call(__global)}catch(b){return b}}
function u (line 7) | function u(a,b,c){var d=v(a,b,c);if(d)throw d}
function v (line 7) | function v(a,b,c){if(!a.evaluated&&a.dependencies){b.push(a);for(var d,e...
function w (line 7) | function w(a,b){return a instanceof Error?a.message=b+a.message:a=b+a,a}
function x (line 7) | function x(a){if("object"!=typeof a)throw new TypeError("Options must be...
function y (line 7) | function y(){}
function z (line 7) | function z(a,b,c){var d=a._loader.importPromises;return d[b]=c.then(func...
function a (line 7) | function a(a,b,c){try{return b.compile(a,c)}catch(d){throw d[0]}}
function a (line 7) | function a(a){var b=String(a).replace(/^\s+|\s+$/g,"").match(/^([^:\/?#]...
function b (line 7) | function b(a){var b=[];return a.replace(/^(\.\.?(\/|$))+/,"").replace(/\...
function c (line 7) | function c(c,d){return d=a(d||""),c=a(c||""),d&&c?(d.protocol||c.protoco...
function d (line 7) | function d(){document.removeEventListener("DOMContentLoaded",d,!1),windo...
function e (line 7) | function e(){for(var a=document.getElementsByTagName("script"),b=0;b<a.l...
function d (line 7) | function d(){b(f.responseText)}
function e (line 7) | function e(){c(f.statusText+": "+a||"XHR error")}
function b (line 7) | function b(b){if(a.call(this,b||{}),"undefined"!=typeof location&&locati...
FILE: client/components/es6-module-loader/dist/es6-module-loader-sans-promises.src.js
function F (line 24) | function F() {}
function createLoaderLoad (line 160) | function createLoaderLoad(object) {
function createLoad (line 172) | function createLoad(name) {
function loadModule (line 187) | function loadModule(loader, name, options) {
function requestLoad (line 200) | function requestLoad(loader, request, refererName, refererAddress) {
function proceedToLocate (line 234) | function proceedToLocate(loader, load) {
function proceedToFetch (line 245) | function proceedToFetch(loader, load, p) {
function proceedToTranslate (line 263) | function proceedToTranslate(loader, load, p) {
function asyncStartLoadPartwayThrough (line 371) | function asyncStartLoadPartwayThrough(stepState) {
function createLinkSet (line 417) | function createLinkSet(loader, startingLoad) {
function addLoadToLinkSet (line 432) | function addLoadToLinkSet(linkSet, load) {
function doLink (line 469) | function doLink(linkSet) {
function updateLinkSetOnLoad (line 485) | function updateLinkSetOnLoad(linkSet, load) {
function linkSetFailed (line 531) | function linkSetFailed(linkSet, load, exc) {
function finishLoad (line 561) | function finishLoad(loader, load) {
function buildLinkageGroups (line 603) | function buildLinkageGroups(load, loads, groups, loader) {
function doDynamicExecute (line 648) | function doDynamicExecute(linkSet, load, linkError) {
function link (line 663) | function link(linkSet, linkError) {
function getOrCreateModuleRecord (line 718) | function getOrCreateModuleRecord(name, loader) {
function linkDeclarativeModule (line 729) | function linkDeclarativeModule(load, loads, loader) {
function evaluateLoadedModule (line 812) | function evaluateLoadedModule(loader, load) {
function doExecute (line 828) | function doExecute(module) {
function doEnsureEvaluated (line 839) | function doEnsureEvaluated(module, seen, loader) {
function ensureEvaluated (line 845) | function ensureEvaluated(module, seen, loader) {
function addToError (line 892) | function addToError(err, msg) {
function Loader (line 903) | function Loader(options) {
function Module (line 936) | function Module() {}
function createImportPromise (line 939) | function createImportPromise(loader, name, promise) {
function doCompile (line 1101) | function doCompile(source, compiler, filename) {
function parseURI (line 1183) | function parseURI(url) {
function removeDotSegments (line 1199) | function removeDotSegments(input) {
function toAbsoluteURL (line 1213) | function toAbsoluteURL(base, href) {
function load (line 1250) | function load() {
function error (line 1253) | function error() {
function SystemLoader (line 1292) | function SystemLoader(options) {
function completed (line 1469) | function completed() {
function ready (line 1475) | function ready() {
function __eval (line 1504) | function __eval(__source, __global, load) {
FILE: client/components/es6-module-loader/dist/es6-module-loader.js
function e (line 7) | function e(g,h){if(!c[g]){if(!a[g]){var i="function"==typeof require&&re...
function a (line 7) | function a(a){this._async=a,this._running=!1,this._queue=new Array(65536...
function b (line 7) | function b(a){var b="object"==typeof a&&a.stack?a.stack:c(a);return a in...
function c (line 7) | function c(a){var b=String(a);return"[object Object]"===b&&"undefined"!=...
function d (line 7) | function d(a,b){try{return JSON.stringify(a)}catch(a){return b}}
function e (line 7) | function e(a){throw a}
function f (line 7) | function f(){}
function d (line 7) | function d(a){a.handled||(o.push(a),l("Potentially unhandled rejection [...
function h (line 7) | function h(a){var b=o.indexOf(a);b>=0&&(o.splice(b,1),m("Handled previou...
function i (line 7) | function i(a,b){n.push(a,b),null===p&&(p=g(j,0))}
function j (line 7) | function j(){for(p=null;n.length>0;)n.shift()(n.shift())}
function b (line 7) | function b(){return"undefined"!=typeof process&&null!==process&&"functio...
function c (line 7) | function c(){return"function"==typeof MutationObserver&&MutationObserver...
function d (line 7) | function d(a){function b(){var a=c;c=void 0,a()}var c,d=document.createT...
function b (line 7) | function b(a,b){this._handler=a===t?b:c(a)}
function c (line 7) | function c(a){function b(a){e.resolve(a)}function c(a){e.reject(a)}funct...
function d (line 7) | function d(a){return I(a)?a:new b(t,new w(q(a)))}
function e (line 7) | function e(a){return new b(t,new w(new z(a)))}
function f (line 7) | function f(){return Z}
function g (line 7) | function g(){return new b(t,new v)}
function h (line 7) | function h(a,b){var c=new v(a.receiver,a.join().context);return new b(t,c)}
function i (line 7) | function i(a){return k(S,null,a)}
function j (line 7) | function j(a,b){return k(N,a,b)}
function k (line 7) | function k(a,c,d){function e(b,e,g){g.resolved||l(d,f,b,a(c,e,b),g)}func...
function l (line 7) | function l(a,b,c,d,e){if(J(d)){var f=r(d),g=f.state();0===g?f.fold(b,c,v...
function m (line 7) | function m(a,b,c){for(var d=b;d<a.length;++d)n(q(a[d]),c)}
function n (line 7) | function n(a,b){if(a!==b){var c=a.state();0===c?a.visit(a,void 0,a._unre...
function o (line 7) | function o(a){return"object"!=typeof a||null===a?e(new TypeError("non-it...
function p (line 7) | function p(a){var c,d,e,f=new v;for(c=0;c<a.length;++c)if(d=a[c],void 0!...
function q (line 7) | function q(a){return I(a)?a._handler.join():J(a)?s(a):new y(a)}
function r (line 7) | function r(a){return I(a)?a._handler.join():s(a)}
function s (line 7) | function s(a){try{var b=a.then;return"function"==typeof b?new x(b,a):new...
function t (line 7) | function t(){}
function u (line 7) | function u(){}
function v (line 7) | function v(a,c){b.createContext(this,c),this.consumers=void 0,this.recei...
function w (line 7) | function w(a){this.handler=a}
function x (line 7) | function x(a,b){v.call(this),U.enqueue(new F(a,b,this))}
function y (line 7) | function y(a){b.createContext(this),this.value=a}
function z (line 7) | function z(a){b.createContext(this),this.id=++X,this.value=a,this.handle...
function A (line 7) | function A(a,b){this.rejection=a,this.context=b}
function B (line 7) | function B(a){this.rejection=a}
function C (line 7) | function C(){return new z(new TypeError("Promise cycle"))}
function D (line 7) | function D(a,b){this.continuation=a,this.handler=b}
function E (line 7) | function E(a,b){this.handler=b,this.value=a}
function F (line 7) | function F(a,b,c){this._then=a,this.thenable=b,this.resolver=c}
function G (line 7) | function G(a,b,c,d,e){try{a.call(b,c,d,e)}catch(f){d(f)}}
function H (line 7) | function H(a,b,c,d){this.f=a,this.z=b,this.c=c,this.to=d,this.resolver=W...
function I (line 7) | function I(a){return a instanceof b}
function J (line 7) | function J(a){return("object"==typeof a||"function"==typeof a)&&null!==a}
function K (line 7) | function K(a,c,d,e){return"function"!=typeof a?e.become(c):(b.enterConte...
function L (line 7) | function L(a,c,d,e,f){return"function"!=typeof a?f.become(d):(b.enterCon...
function M (line 7) | function M(a,c,d,e,f){return"function"!=typeof a?f.notify(c):(b.enterCon...
function N (line 7) | function N(a,b,c){try{return a(b,c)}catch(d){return e(d)}}
function O (line 7) | function O(a,b,c,d){try{d.become(q(a.call(c,b)))}catch(e){d.become(new z...
function P (line 7) | function P(a,b,c,d,e){try{a.call(d,b,c,e)}catch(f){e.become(new z(f))}}
function Q (line 7) | function Q(a,b,c,d){try{d.notify(a.call(c,b))}catch(e){d.notify(e)}}
function R (line 7) | function R(a,b){b.prototype=V(a.prototype),b.prototype.constructor=b}
function S (line 7) | function S(a,b){return b}
function T (line 7) | function T(){}
function b (line 7) | function b(){}
function a (line 7) | function a(a){d.resolve(a)}
function b (line 7) | function b(a){d.reject(a)}
function c (line 7) | function c(a){d.notify(a)}
function __eval (line 7) | function __eval(__source,__global,load){var __curRegister=System.registe...
function c (line 7) | function c(){}
function a (line 7) | function a(a){return{status:"loading",name:a,linkSets:[],dependencies:[]...
function b (line 7) | function b(a,b,c){return new A(g({step:c.address?"fetch":"locate",loader...
function c (line 7) | function c(b,c,e,f){return new A(function(a){a(b.loaderObj.normalize(c,e...
function d (line 7) | function d(a,b){e(a,b,A.resolve().then(function(){return a.loaderObj.loc...
function e (line 7) | function e(a,b,c){f(a,b,c.then(function(c){return"loading"==b.status?(b....
function f (line 7) | function f(a,b,d){d.then(function(c){return"loading"==b.status?a.loaderO...
function g (line 7) | function g(b){return function(c){var g=b.loader,i=b.moduleName,j=b.step;...
function h (line 7) | function h(a,b){var c={loader:a,loads:[],startingLoad:b,loadingCount:0};...
function i (line 7) | function i(a,b){for(var c=0,d=a.loads.length;d>c;c++)if(a.loads[c]==b)re...
function j (line 7) | function j(a){var b=!1;try{p(a,function(c,d){l(a,c,d),b=!0})}catch(c){l(...
function k (line 7) | function k(a,b){if(a.loadingCount--,!(a.loadingCount>0)){var c=a.startin...
function l (line 7) | function l(a,b,c){var d=a.loader;a.loads[0].name!=b.name&&(c=w(c,'Error ...
function m (line 7) | function m(a,b){if(a.loaderObj.trace){a.loaderObj.loads||(a.loaderObj.lo...
function n (line 7) | function n(a,b,c,d){if(c[a.groupIndex]=c[a.groupIndex]||[],-1==B.call(c[...
function o (line 7) | function o(a,b,c){try{var d=b.execute()}catch(e){return void c(b,e)}retu...
function p (line 7) | function p(a,b){var c=a.loader;if(a.loads.length){var d=[],e=a.loads[0];...
function q (line 7) | function q(a,b){var c=b.moduleRecords;return c[a]||(c[a]={name:a,depende...
function r (line 7) | function r(a,b,c){if(!a.module){var d=a.module=q(a.name,c),e=a.module.mo...
function s (line 7) | function s(a,b){return u(b.module,[],a),b.module.module}
function t (line 7) | function t(a){try{a.execute.call(__global)}catch(b){return b}}
function u (line 7) | function u(a,b,c){var d=v(a,b,c);if(d)throw d}
function v (line 7) | function v(a,b,c){if(!a.evaluated&&a.dependencies){b.push(a);for(var d,e...
function w (line 7) | function w(a,b){return a instanceof Error?a.message=b+a.message:a=b+a,a}
function x (line 7) | function x(a){if("object"!=typeof a)throw new TypeError("Options must be...
function y (line 7) | function y(){}
function z (line 7) | function z(a,b,c){var d=a._loader.importPromises;return d[b]=c.then(func...
function a (line 7) | function a(a,b,c){try{return b.compile(a,c)}catch(d){throw d[0]}}
function a (line 7) | function a(a){var b=String(a).replace(/^\s+|\s+$/g,"").match(/^([^:\/?#]...
function b (line 7) | function b(a){var b=[];return a.replace(/^(\.\.?(\/|$))+/,"").replace(/\...
function c (line 7) | function c(c,d){return d=a(d||""),c=a(c||""),d&&c?(d.protocol||c.protoco...
function d (line 7) | function d(){document.removeEventListener("DOMContentLoaded",d,!1),windo...
function e (line 7) | function e(){for(var a=document.getElementsByTagName("script"),b=0;b<a.l...
function d (line 7) | function d(){b(f.responseText)}
function e (line 7) | function e(){c(f.statusText+": "+a||"XHR error")}
function b (line 7) | function b(b){if(a.call(this,b||{}),"undefined"!=typeof location&&locati...
FILE: client/components/es6-module-loader/dist/es6-module-loader.src.js
function s (line 1) | function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&re...
function Scheduler (line 51) | function Scheduler(async) {
function report (line 162) | function report(r) {
function unreport (line 169) | function unreport(r) {
function enqueue (line 177) | function enqueue(f, x) {
function flush (line 184) | function flush() {
function formatError (line 194) | function formatError(e) {
function formatObject (line 199) | function formatObject(o) {
function tryStringify (line 207) | function tryStringify(e, defaultValue) {
function throwit (line 216) | function throwit(e) {
function noop (line 220) | function noop() {}
function isNode (line 269) | function isNode () {
function hasMutationObserver (line 274) | function hasMutationObserver () {
function initMutationObserver (line 279) | function initMutationObserver(MutationObserver) {
function Child (line 314) | function Child() {}
function Promise (line 325) | function Promise(resolver, handler) {
function init (line 334) | function init(resolver) {
function resolve (line 387) | function resolve(x) {
function reject (line 397) | function reject(x) {
function never (line 405) | function never() {
function defer (line 414) | function defer() {
function begetFrom (line 467) | function begetFrom(parent, Promise) {
function all (line 485) | function all(promises) {
function traverse (line 496) | function traverse(f, promises) {
function traverseWith (line 500) | function traverseWith(tryMap, f, promises) {
function traverseAt (line 538) | function traverseAt(promises, handler, i, x, resolver) {
function visitRemaining (line 557) | function visitRemaining(promises, start, handler) {
function markAsHandled (line 563) | function markAsHandled(h, handler) {
function race (line 590) | function race(promises) {
function runRace (line 602) | function runRace(promises) {
function getHandler (line 631) | function getHandler(x) {
function getHandlerMaybeThenable (line 644) | function getHandlerMaybeThenable(x) {
function getHandlerUntrusted (line 653) | function getHandlerUntrusted(x) {
function Handler (line 668) | function Handler() {}
function FailIfRejected (line 719) | function FailIfRejected() {}
function Pending (line 733) | function Pending(receiver, inheritedContext) {
function Async (line 840) | function Async(handler) {
function Thenable (line 864) | function Thenable(then, thenable) {
function Fulfilled (line 876) | function Fulfilled(x) {
function Rejected (line 900) | function Rejected(x) {
function ReportTask (line 942) | function ReportTask(rejection, context) {
function UnreportTask (line 954) | function UnreportTask(rejection) {
function cycle (line 981) | function cycle() {
function ContinuationTask (line 991) | function ContinuationTask(continuation, handler) {
function ProgressTask (line 1004) | function ProgressTask(value, handler) {
function AssimilateTask (line 1028) | function AssimilateTask(then, thenable, resolver) {
function _resolve (line 1038) | function _resolve(x) { h.resolve(x); }
function _reject (line 1039) | function _reject(x) { h.reject(x); }
function _notify (line 1040) | function _notify(x) { h.notify(x); }
function tryAssimilate (line 1043) | function tryAssimilate(then, thenable, resolve, reject, notify) {
function Fold (line 1055) | function Fold(f, z, c, to) {
function isPromise (line 1079) | function isPromise(x) {
function maybeThenable (line 1089) | function maybeThenable(x) {
function runContinuation1 (line 1093) | function runContinuation1(f, h, receiver, next) {
function runContinuation3 (line 1103) | function runContinuation3(f, x, h, receiver, next) {
function runNotify (line 1116) | function runNotify(f, x, h, receiver, next) {
function tryCatch2 (line 1126) | function tryCatch2(f, a, b) {
function tryCatchReject (line 1138) | function tryCatchReject(f, x, thisArg, next) {
function tryCatchReject3 (line 1149) | function tryCatchReject3(f, x, y, thisArg, next) {
function tryCatchReturn (line 1161) | function tryCatchReturn(f, x, thisArg, next) {
function inherit (line 1169) | function inherit(Parent, Child) {
function snd (line 1174) | function snd(x, y) {
function noop (line 1178) | function noop() {}
function F (line 1212) | function F() {}
function createLoaderLoad (line 1348) | function createLoaderLoad(object) {
function createLoad (line 1360) | function createLoad(name) {
function loadModule (line 1375) | function loadModule(loader, name, options) {
function requestLoad (line 1388) | function requestLoad(loader, request, refererName, refererAddress) {
function proceedToLocate (line 1422) | function proceedToLocate(loader, load) {
function proceedToFetch (line 1433) | function proceedToFetch(loader, load, p) {
function proceedToTranslate (line 1451) | function proceedToTranslate(loader, load, p) {
function asyncStartLoadPartwayThrough (line 1559) | function asyncStartLoadPartwayThrough(stepState) {
function createLinkSet (line 1605) | function createLinkSet(loader, startingLoad) {
function addLoadToLinkSet (line 1620) | function addLoadToLinkSet(linkSet, load) {
function doLink (line 1657) | function doLink(linkSet) {
function updateLinkSetOnLoad (line 1673) | function updateLinkSetOnLoad(linkSet, load) {
function linkSetFailed (line 1719) | function linkSetFailed(linkSet, load, exc) {
function finishLoad (line 1749) | function finishLoad(loader, load) {
function buildLinkageGroups (line 1791) | function buildLinkageGroups(load, loads, groups, loader) {
function doDynamicExecute (line 1836) | function doDynamicExecute(linkSet, load, linkError) {
function link (line 1851) | function link(linkSet, linkError) {
function getOrCreateModuleRecord (line 1906) | function getOrCreateModuleRecord(name, loader) {
function linkDeclarativeModule (line 1917) | function linkDeclarativeModule(load, loads, loader) {
function evaluateLoadedModule (line 2000) | function evaluateLoadedModule(loader, load) {
function doExecute (line 2016) | function doExecute(module) {
function doEnsureEvaluated (line 2027) | function doEnsureEvaluated(module, seen, loader) {
function ensureEvaluated (line 2033) | function ensureEvaluated(module, seen, loader) {
function addToError (line 2080) | function addToError(err, msg) {
function Loader (line 2091) | function Loader(options) {
function Module (line 2124) | function Module() {}
function createImportPromise (line 2127) | function createImportPromise(loader, name, promise) {
function doCompile (line 2289) | function doCompile(source, compiler, filename) {
function parseURI (line 2371) | function parseURI(url) {
function removeDotSegments (line 2387) | function removeDotSegments(input) {
function toAbsoluteURL (line 2401) | function toAbsoluteURL(base, href) {
function load (line 2438) | function load() {
function error (line 2441) | function error() {
function SystemLoader (line 2480) | function SystemLoader(options) {
function completed (line 2657) | function completed() {
function ready (line 2663) | function ready() {
function __eval (line 2692) | function __eval(__source, __global, load) {
FILE: client/components/es6-module-loader/src/loader.js
function createLoaderLoad (line 124) | function createLoaderLoad(object) {
function createLoad (line 136) | function createLoad(name) {
function loadModule (line 151) | function loadModule(loader, name, options) {
function requestLoad (line 164) | function requestLoad(loader, request, refererName, refererAddress) {
function proceedToLocate (line 198) | function proceedToLocate(loader, load) {
function proceedToFetch (line 209) | function proceedToFetch(loader, load, p) {
function proceedToTranslate (line 227) | function proceedToTranslate(loader, load, p) {
function asyncStartLoadPartwayThrough (line 335) | function asyncStartLoadPartwayThrough(stepState) {
function createLinkSet (line 381) | function createLinkSet(loader, startingLoad) {
function addLoadToLinkSet (line 396) | function addLoadToLinkSet(linkSet, load) {
function doLink (line 433) | function doLink(linkSet) {
function updateLinkSetOnLoad (line 449) | function updateLinkSetOnLoad(linkSet, load) {
function linkSetFailed (line 495) | function linkSetFailed(linkSet, load, exc) {
function finishLoad (line 525) | function finishLoad(loader, load) {
function buildLinkageGroups (line 567) | function buildLinkageGroups(load, loads, groups, loader) {
function doDynamicExecute (line 612) | function doDynamicExecute(linkSet, load, linkError) {
function link (line 627) | function link(linkSet, linkError) {
function getOrCreateModuleRecord (line 682) | function getOrCreateModuleRecord(name, loader) {
function linkDeclarativeModule (line 693) | function linkDeclarativeModule(load, loads, loader) {
function evaluateLoadedModule (line 776) | function evaluateLoadedModule(loader, load) {
function doExecute (line 792) | function doExecute(module) {
function doEnsureEvaluated (line 803) | function doEnsureEvaluated(module, seen, loader) {
function ensureEvaluated (line 809) | function ensureEvaluated(module, seen, loader) {
function addToError (line 856) | function addToError(err, msg) {
function Loader (line 867) | function Loader(options) {
function Module (line 900) | function Module() {}
function createImportPromise (line 903) | function createImportPromise(loader, name, promise) {
function doCompile (line 1065) | function doCompile(source, compiler, filename) {
FILE: client/components/es6-module-loader/src/polyfill-wrapper-end.js
function __eval (line 4) | function __eval(__source, __global, load) {
FILE: client/components/es6-module-loader/src/polyfill-wrapper-start.js
function F (line 24) | function F() {}
FILE: client/components/es6-module-loader/src/system.js
function parseURI (line 22) | function parseURI(url) {
function removeDotSegments (line 37) | function removeDotSegments(input) {
function toAbsoluteURL (line 50) | function toAbsoluteURL(base, href) {
function load (line 86) | function load() {
function error (line 89) | function error() {
class SystemLoader (line 127) | class SystemLoader extends __global.LoaderPolyfill {
method constructor (line 129) | constructor(options) {
method global (line 148) | get global() {
method strict (line 152) | get strict() { return true; }
method normalize (line 154) | normalize(name, parentName, parentAddress) {
method locate (line 206) | locate(load) {
method fetch (line 251) | fetch(load) {
function completed (line 276) | function completed() {
function ready (line 282) | function ready() {
FILE: client/components/lodash/dist/lodash.compat.js
function baseIndexOf (line 195) | function baseIndexOf(array, value, fromIndex) {
function cacheIndexOf (line 216) | function cacheIndexOf(cache, value) {
function cachePush (line 240) | function cachePush(value) {
function charAtCallback (line 269) | function charAtCallback(value) {
function compareAscending (line 282) | function compareAscending(a, b) {
function createCache (line 317) | function createCache(array) {
function escapeStringChar (line 350) | function escapeStringChar(match) {
function getArray (line 360) | function getArray() {
function getObject (line 370) | function getObject() {
function isNode (line 395) | function isNode(value) {
function releaseArray (line 407) | function releaseArray(array) {
function releaseObject (line 420) | function releaseObject(object) {
function slice (line 444) | function slice(array, start, end) {
function runInContext (line 470) | function runInContext(context) {
FILE: client/components/lodash/dist/lodash.js
function baseIndexOf (line 170) | function baseIndexOf(array, value, fromIndex) {
function cacheIndexOf (line 191) | function cacheIndexOf(cache, value) {
function cachePush (line 215) | function cachePush(value) {
function charAtCallback (line 244) | function charAtCallback(value) {
function compareAscending (line 257) | function compareAscending(a, b) {
function createCache (line 292) | function createCache(array) {
function escapeStringChar (line 325) | function escapeStringChar(match) {
function getArray (line 335) | function getArray() {
function getObject (line 345) | function getObject() {
function releaseArray (line 369) | function releaseArray(array) {
function releaseObject (line 382) | function releaseObject(object) {
function slice (line 406) | function slice(array, start, end) {
function runInContext (line 432) | function runInContext(context) {
FILE: client/components/lodash/dist/lodash.underscore.js
function baseIndexOf (line 95) | function baseIndexOf(array, value, fromIndex) {
function compareAscending (line 116) | function compareAscending(a, b) {
function escapeStringChar (line 152) | function escapeStringChar(match) {
function slice (line 169) | function slice(array, start, end) {
function lodash (line 294) | function lodash(value) {
function lodashWrapper (line 308) | function lodashWrapper(value, chainAll) {
function baseBind (line 396) | function baseBind(bindData) {
function baseCreate (line 432) | function baseCreate(prototype, properties) {
function Object (line 438) | function Object() {}
function baseCreateCallback (line 460) | function baseCreateCallback(func, thisArg, argCount) {
function baseCreateWrapper (line 493) | function baseCreateWrapper(bindData) {
function baseDifference (line 546) | function baseDifference(array, values) {
function baseFlatten (line 572) | function baseFlatten(array, isShallow, isStrict, fromIndex) {
function baseIsEqual (line 614) | function baseIsEqual(a, b, stackA, stackB) {
function baseRandom (line 727) | function baseRandom(min, max) {
function baseUniq (line 741) | function baseUniq(array, isSorted, callback) {
function createAggregator (line 775) | function createAggregator(setter) {
function createWrapper (line 819) | function createWrapper(func, bitmask, partialArgs, partialRightArgs, thi...
function escapeHtmlChar (line 850) | function escapeHtmlChar(match) {
function getIndexOf (line 862) | function getIndexOf() {
function isNative (line 874) | function isNative(value) {
function unescapeHtmlChar (line 885) | function unescapeHtmlChar(match) {
function isArguments (line 907) | function isArguments(value) {
function assign (line 1037) | function assign(object) {
function clone (line 1092) | function clone(value) {
function defaults (line 1118) | function defaults(object) {
function functions (line 1224) | function functions(object) {
function has (line 1249) | function has(object, key) {
function invert (line 1266) | function invert(object) {
function isBoolean (line 1292) | function isBoolean(value) {
function isDate (line 1310) | function isDate(value) {
function isElement (line 1327) | function isElement(value) {
function isEmpty (line 1352) | function isEmpty(value) {
function isEqual (line 1405) | function isEqual(a, b) {
function isFinite (line 1437) | function isFinite(value) {
function isFunction (line 1454) | function isFunction(value) {
function isObject (line 1484) | function isObject(value) {
function isNaN (line 1517) | function isNaN(value) {
function isNull (line 1539) | function isNull(value) {
function isNumber (line 1558) | function isNumber(value) {
function isRegExp (line 1576) | function isRegExp(value) {
function isString (line 1593) | function isString(value) {
function isUndefined (line 1611) | function isUndefined(value) {
function omit (line 1641) | function omit(object) {
function pairs (line 1673) | function pairs(object) {
function pick (line 1713) | function pick(object) {
function values (line 1741) | function values(object) {
function contains (line 1782) | function contains(collection, target) {
function every (line 1875) | function every(collection, callback, thisArg) {
function filter (line 1936) | function filter(collection, callback, thisArg) {
function find (line 2003) | function find(collection, callback, thisArg) {
function findWhere (line 2051) | function findWhere(object, properties) {
function forEach (line 2081) | function forEach(collection, callback, thisArg) {
function forEachRight (line 2114) | function forEachRight(collection, callback) {
function invoke (line 2236) | function invoke(collection, methodName) {
function map (line 2288) | function map(collection, callback, thisArg) {
function max (line 2347) | function max(collection, callback, thisArg) {
function min (line 2420) | function min(collection, callback, thisArg) {
function reduce (line 2505) | function reduce(collection, callback, accumulator, thisArg) {
function reduceRight (line 2549) | function reduceRight(collection, callback, accumulator, thisArg) {
function reject (line 2598) | function reject(collection, callback, thisArg) {
function sample (line 2624) | function sample(collection, n, guard) {
function shuffle (line 2650) | function shuffle(collection) {
function size (line 2683) | function size(collection) {
function some (line 2730) | function some(collection, callback, thisArg) {
function sortBy (line 2800) | function sortBy(collection, callback, thisArg) {
function toArray (line 2835) | function toArray(collection) {
function where (line 2870) | function where(collection, properties, first) {
function compact (line 2892) | function compact(array) {
function difference (line 2921) | function difference(array) {
function first (line 2976) | function first(array, callback, thisArg) {
function flatten (line 3036) | function flatten(array, isShallow) {
function indexOf (line 3064) | function indexOf(array, value, fromIndex) {
function initial (line 3125) | function initial(array, callback, thisArg) {
function intersection (line 3155) | function intersection() {
function last (line 3238) | function last(array, callback, thisArg) {
function lastIndexOf (line 3284) | function lastIndexOf(array, value, fromIndex) {
function range (line 3329) | function range(start, end, step) {
function rest (line 3402) | function rest(array, callback, thisArg) {
function sortedIndex (line 3466) | function sortedIndex(array, value, callback, thisArg) {
function union (line 3497) | function union() {
function uniq (line 3545) | function uniq(array, isSorted, callback, thisArg) {
function without (line 3573) | function without(array) {
function zip (line 3593) | function zip() {
function zipObject (line 3622) | function zipObject(keys, values) {
function after (line 3667) | function after(n, func) {
function bind (line 3700) | function bind(func, thisArg) {
function bindAll (line 3730) | function bindAll(object) {
function compose (line 3772) | function compose() {
function debounce (line 3831) | function debounce(func, wait, options) {
function defer (line 3947) | function defer(func) {
function delay (line 3971) | function delay(func, wait) {
function memoize (line 4016) | function memoize(func, resolver) {
function once (line 4043) | function once(func) {
function partial (line 4081) | function partial(func) {
function throttle (line 4116) | function throttle(func, wait, options) {
function wrap (line 4158) | function wrap(value, wrapper) {
function createCallback (line 4195) | function createCallback(func, thisArg, argCount) {
function escape (line 4232) | function escape(string) {
function identity (line 4250) | function identity(value) {
function mixin (line 4282) | function mixin(object) {
function noConflict (line 4310) | function noConflict() {
function noop (line 4327) | function noop() {
function property (line 4372) | function property(key) {
function random (line 4405) | function random(min, max) {
function result (line 4446) | function result(object, key) {
function template (line 4539) | function template(text, data, options) {
function times (line 4618) | function times(n, callback, thisArg) {
function unescape (line 4645) | function unescape(string) {
function uniqueId (line 4665) | function uniqueId(prefix) {
function chain (line 4696) | function chain(value) {
function tap (line 4722) | function tap(value, interceptor) {
function wrapperChain (line 4752) | function wrapperChain() {
function wrapperValueOf (line 4770) | function wrapperValueOf() {
FILE: client/components/system.js/dist/system-csp.js
function e (line 1) | function e(e){var t=String(e).replace(/^\s+|\s+$/g,"").match(/^([^:\/?#]...
function t (line 1) | function t(t,a){function r(e){var t=[];return e.replace(/^(\.\.?(\/|$))+...
function a (line 1) | function a(e){"undefined"==typeof h&&(h=Array.prototype.indexOf);var t=d...
function r (line 1) | function r(e){function t(e,t){var a=e.meta&&e.meta[t.name];if(a)for(var ...
function n (line 1) | function n(e){function a(e){var a=this;"@traceur"==e.name&&(m=p);var r,n...
function o (line 1) | function o(e){var a=e["import"];e["import"]=function(e,t){return a.call(...
function i (line 1) | function i(e){function t(e,t){for(var a=e.split(".");a.length;)t=t[a.shi...
function s (line 1) | function s(e){function t(e){r.lastIndex=0;var t=[];e.length/e.split("\n"...
function l (line 1) | function l(e){function t(e,t){e=e.replace(d,"");var a=e.match(m),r=(a[1]...
function u (line 1) | function u(e){function t(e,t){return e.length<t.length?!1:e.substr(0,t.l...
function d (line 1) | function d(e){"undefined"==typeof h&&(h=Array.prototype.indexOf);var t=e...
function c (line 1) | function c(e){"undefined"==typeof h&&(h=Array.prototype.indexOf),e.bundl...
function f (line 1) | function f(e){function t(e){return parseInt(e,10)}function a(e){var a=e....
function m (line 1) | function m(e){e.depCache=e.depCache||{},loaderLocate=e.locate,e.locate=f...
FILE: client/components/system.js/dist/system-csp.src.js
function parseURI (line 19) | function parseURI(url) {
function toAbsoluteURL (line 34) | function toAbsoluteURL(base, href) {
function scriptLoader (line 79) | function scriptLoader(loader) {
function meta (line 180) | function meta(loader) {
function register (line 253) | function register(loader) {
function core (line 803) | function core(loader) {
function global (line 950) | function global(loader) {
function cjs (line 1086) | function cjs(loader) {
function amd (line 1168) | function amd(loader) {
function map (line 1468) | function map(loader) {
function plugins (line 1605) | function plugins(loader) {
function bundles (line 1763) | function bundles(loader) {
function versions (line 1862) | function versions(loader) {
function depCache (line 2149) | function depCache(loader) {
FILE: client/components/system.js/dist/system.js
function e (line 1) | function e(e){var t=String(e).replace(/^\s+|\s+$/g,"").match(/^([^:\/?#]...
function t (line 1) | function t(t,a){function r(e){var t=[];return e.replace(/^(\.\.?(\/|$))+...
function a (line 1) | function a(e){function t(e,t){var a=e.meta&&e.meta[t.name];if(a)for(var ...
function r (line 1) | function r(e){function a(e){var a=this;"@traceur"==e.name&&(h=m);var r,n...
function n (line 1) | function n(e){var a=e["import"];e["import"]=function(e,t){return a.call(...
function o (line 1) | function o(e){function t(e,t){for(var a=e.split(".");a.length;)t=t[a.shi...
function i (line 1) | function i(e){function t(e){r.lastIndex=0;var t=[];e.length/e.split("\n"...
function s (line 1) | function s(e){function t(e,t){e=e.replace(d,"");var a=e.match(m),r=(a[1]...
function l (line 1) | function l(e){function t(e,t){return e.length<t.length?!1:e.substr(0,t.l...
function u (line 1) | function u(e){"undefined"==typeof p&&(p=Array.prototype.indexOf);var t=e...
function d (line 1) | function d(e){"undefined"==typeof p&&(p=Array.prototype.indexOf),e.bundl...
function c (line 1) | function c(e){function t(e){return parseInt(e,10)}function a(e){var a=e....
function f (line 1) | function f(e){e.depCache=e.depCache||{},loaderLocate=e.locate,e.locate=f...
FILE: client/components/system.js/dist/system.src.js
function parseURI (line 19) | function parseURI(url) {
function toAbsoluteURL (line 34) | function toAbsoluteURL(base, href) {
function meta (line 114) | function meta(loader) {
function register (line 187) | function register(loader) {
function core (line 737) | function core(loader) {
function global (line 884) | function global(loader) {
function cjs (line 1020) | function cjs(loader) {
function amd (line 1102) | function amd(loader) {
function map (line 1402) | function map(loader) {
function plugins (line 1539) | function plugins(loader) {
function bundles (line 1697) | function bundles(loader) {
function versions (line 1796) | function versions(loader) {
function depCache (line 2083) | function depCache(loader) {
FILE: client/components/system.js/lib/extension-amd.js
function amd (line 6) | function amd(loader) {
FILE: client/components/system.js/lib/extension-bundles.js
function bundles (line 16) | function bundles(loader) {
FILE: client/components/system.js/lib/extension-cjs.js
function cjs (line 4) | function cjs(loader) {
FILE: client/components/system.js/lib/extension-core.js
function core (line 6) | function core(loader) {
FILE: client/components/system.js/lib/extension-depCache.js
function depCache (line 22) | function depCache(loader) {
FILE: client/components/system.js/lib/extension-global.js
function global (line 12) | function global(loader) {
FILE: client/components/system.js/lib/extension-map.js
function map (line 24) | function map(loader) {
FILE: client/components/system.js/lib/extension-meta.js
function meta (line 40) | function meta(loader) {
FILE: client/components/system.js/lib/extension-plugins.js
function plugins (line 9) | function plugins(loader) {
FILE: client/components/system.js/lib/extension-register.js
function register (line 19) | function register(loader) {
FILE: client/components/system.js/lib/extension-scriptLoader.js
function scriptLoader (line 5) | function scriptLoader(loader) {
FILE: client/components/system.js/lib/extension-versions.js
function versions (line 58) | function versions(loader) {
FILE: client/components/system.js/lib/polyfill-wrapper-start.js
function parseURI (line 15) | function parseURI(url) {
function toAbsoluteURL (line 30) | function toAbsoluteURL(base, href) {
FILE: client/components/traceur-runtime/traceur-runtime.js
function nonEnum (line 20) | function nonEnum(value) {
function newUniqueString (line 30) | function newUniqueString() {
function isPrivateName (line 38) | function isPrivateName(s) {
function createPrivateName (line 41) | function createPrivateName() {
function isShimSymbol (line 46) | function isShimSymbol(symbol) {
function typeOf (line 49) | function typeOf(v) {
function Symbol (line 54) | function Symbol(description) {
function SymbolValue (line 80) | function SymbolValue(description) {
function getOwnHashObject (line 104) | function getOwnHashObject(object) {
function freeze (line 117) | function freeze(object) {
function preventExtensions (line 121) | function preventExtensions(object) {
function seal (line 125) | function seal(object) {
function isSymbolString (line 130) | function isSymbolString(s) {
function toProperty (line 133) | function toProperty(name) {
function removeSymbolKeys (line 138) | function removeSymbolKeys(array) {
function getOwnPropertyNames (line 147) | function getOwnPropertyNames(object) {
function keys (line 150) | function keys(object) {
function getOwnPropertySymbols (line 153) | function getOwnPropertySymbols(object) {
function getOwnPropertyDescriptor (line 164) | function getOwnPropertyDescriptor(object, name) {
function hasOwnProperty (line 167) | function hasOwnProperty(name) {
function getOption (line 170) | function getOption(name) {
function defineProperty (line 173) | function defineProperty(object, name, descriptor) {
function polyfillObject (line 180) | function polyfillObject(Object) {
function exportStar (line 190) | function exportStar(object) {
function isObject (line 209) | function isObject(x) {
function toObject (line 212) | function toObject(x) {
function checkObjectCoercible (line 217) | function checkObjectCoercible(argument) {
function relativeRequire (line 224) | function relativeRequire(callerPath, requiredPath) {
function polyfillSymbol (line 238) | function polyfillSymbol(global, Symbol) {
function setupGlobals (line 247) | function setupGlobals(global) {
function relativeRequire (line 277) | function relativeRequire(callerPath, requiredPath) {
function spread (line 295) | function spread() {
function superDescriptor (line 326) | function superDescriptor(homeObject, name) {
function superConstructor (line 336) | function superConstructor(ctor) {
function superCall (line 339) | function superCall(self, homeObject, name, args) {
function superGet (line 342) | function superGet(self, homeObject, name) {
function superSet (line 351) | function superSet(self, homeObject, name, value) {
function getDescriptors (line 359) | function getDescriptors(object) {
function createClass (line 373) | function createClass(ctor, object, staticObject, superClass) {
function getProtoParent (line 393) | function getProtoParent(superClass) {
function defaultSuperCall (line 404) | function defaultSuperCall(self, homeObject, args) {
function nonEnum (line 422) | function nonEnum(value) {
function getInternalError (line 436) | function getInternalError(state) {
function GeneratorContext (line 439) | function GeneratorContext() {
method sent (line 472) | get sent() {
method sent (line 476) | set sent(v) {
method sentIgnoreThrow (line 479) | get sentIgnoreThrow() {
function nextOrThrow (line 504) | function nextOrThrow(ctx, moveNext, action, x) {
function GeneratorFunction (line 540) | function GeneratorFunction() {}
function GeneratorFunctionPrototype (line 541) | function GeneratorFunctionPrototype() {}
function createGeneratorInstance (line 561) | function createGeneratorInstance(innerFunction, functionObject, self) {
function initGeneratorFunction (line 569) | function initGeneratorFunction(functionObject) {
function AsyncFunctionContext (line 574) | function AsyncFunctionContext() {
function asyncWrap (line 599) | function asyncWrap(innerFunction, self) {
function getMoveNext (line 616) | function getMoveNext(innerFunction, self) {
function handleCatch (line 627) | function handleCatch(ctx, ex) {
function buildFromEncodedParts (line 643) | function buildFromEncodedParts(opt_scheme, opt_userInfo, opt_domain, opt...
function split (line 680) | function split(uri) {
function removeDotSegments (line 683) | function removeDotSegments(path) {
function joinAndCanonicalizePath (line 716) | function joinAndCanonicalizePath(parts) {
function canonicalizeUrl (line 722) | function canonicalizeUrl(url) {
function resolveUrl (line 726) | function resolveUrl(base, url) {
function isAbsolute (line 748) | function isAbsolute(name) {
function genericType (line 778) | function genericType(type) {
function getUncoatedModuleInstantiator (line 856) | function getUncoatedModuleInstantiator(name) {
function Module (line 865) | function Module(uncoatedModule) {
method baseURL (line 920) | get baseURL() {
method baseURL (line 923) | set baseURL(v) {
function require (line 989) | function require(path) {
function toUint32 (line 999) | function toUint32(x) {
function isObject (line 1002) | function isObject(x) {
function isCallable (line 1005) | function isCallable(x) {
function isNumber (line 1008) | function isNumber(x) {
function toInteger (line 1011) | function toInteger(x) {
function toLength (line 1020) | function toLength(x) {
function checkIterable (line 1024) | function checkIterable(x) {
function isConstructor (line 1027) | function isConstructor(x) {
function createIteratorResultObject (line 1030) | function createIteratorResultObject(value, done) {
function maybeDefine (line 1036) | function maybeDefine(object, name, descr) {
function maybeDefineMethod (line 1041) | function maybeDefineMethod(object, name, value) {
function maybeDefineConst (line 1049) | function maybeDefineConst(object, name, value) {
function maybeAddFunctions (line 1057) | function maybeAddFunctions(object, functions) {
function maybeAddConsts (line 1064) | function maybeAddConsts(object, consts) {
function maybeAddIterator (line 1071) | function maybeAddIterator(object, func, Symbol) {
function registerPolyfill (line 1084) | function registerPolyfill(func) {
function polyfillAll (line 1087) | function polyfillAll(global) {
method toObject (line 1093) | get toObject() {
method toUint32 (line 1096) | get toUint32() {
method isObject (line 1099) | get isObject() {
method isCallable (line 1102) | get isCallable() {
method isNumber (line 1105) | get isNumber() {
method toInteger (line 1108) | get toInteger() {
method toLength (line 1111) | get toLength() {
method checkIterable (line 1114) | get checkIterable() {
method isConstructor (line 1117) | get isConstructor() {
method createIteratorResultObject (line 1120) | get createIteratorResultObject() {
method maybeDefine (line 1123) | get maybeDefine() {
method maybeDefineMethod (line 1126) | get maybeDefineMethod() {
method maybeDefineConst (line 1129) | get maybeDefineConst() {
method maybeAddFunctions (line 1132) | get maybeAddFunctions() {
method maybeAddConsts (line 1135) | get maybeAddConsts() {
method maybeAddIterator (line 1138) | get maybeAddIterator() {
method registerPolyfill (line 1141) | get registerPolyfill() {
method polyfillAll (line 1144) | get polyfillAll() {
function require (line 1152) | function require(path) {
function lookupIndex (line 1162) | function lookupIndex(map, key) {
function initMap (line 1171) | function initMap(map) {
method size (line 1199) | get size() {
function polyfillMap (line 1391) | function polyfillMap(global) {
method Map (line 1409) | get Map() {
method polyfillMap (line 1412) | get polyfillMap() {
function require (line 1421) | function require(path) {
function initSet (line 1431) | function initSet(set) {
method size (line 1453) | get size() {
function polyfillSet (line 1549) | function polyfillSet(global) {
method Set (line 1565) | get Set() {
method polyfillSet (line 1568) | get polyfillSet() {
function require (line 1577) | function require(path) {
function asap (line 1581) | function asap(callback, arg) {
function useNextTick (line 1593) | function useNextTick() {
function useMutationObserver (line 1598) | function useMutationObserver() {
function useMessageChannel (line 1607) | function useMessageChannel() {
function useSetTimeout (line 1614) | function useSetTimeout() {
function flush (line 1620) | function flush() {
method default (line 1640) | get default() {
function require (line 1647) | function require(path) {
function isPromise (line 1653) | function isPromise(x) {
function idResolveHandler (line 1656) | function idResolveHandler(x) {
function idRejectHandler (line 1659) | function idRejectHandler(x) {
function chain (line 1662) | function chain(promise) {
function getDeferred (line 1682) | function getDeferred(C) {
function promiseSet (line 1703) | function promiseSet(promise, status, value, onResolve, onReject) {
function promiseInit (line 1710) | function promiseInit(promise) {
function promiseResolve (line 1808) | function promiseResolve(promise, x) {
function promiseReject (line 1811) | function promiseReject(promise, r) {
function promiseDone (line 1814) | function promiseDone(promise, status, value, reactions) {
function promiseEnqueue (line 1820) | function promiseEnqueue(value, tasks) {
function promiseHandle (line 1827) | function promiseHandle(value, handler, deferred) {
function isObject (line 1843) | function isObject(x) {
function promiseCoerce (line 1846) | function promiseCoerce(constructor, x) {
function polyfillPromise (line 1874) | function polyfillPromise(global) {
method Promise (line 1880) | get Promise() {
method polyfillPromise (line 1883) | get polyfillPromise() {
function require (line 1893) | function require(path) {
function createStringIterator (line 1946) | function createStringIterator(string) {
method createStringIterator (line 1953) | get createStringIterator() {
function require (line 1960) | function require(path) {
function startsWith (line 1971) | function startsWith(search) {
function endsWith (line 1987) | function endsWith(search) {
function contains (line 2012) | function contains(search) {
function repeat (line 2028) | function repeat(count) {
function codePointAt (line 2049) | function codePointAt(position) {
function raw (line 2072) | function raw(callsite) {
function fromCodePoint (line 2086) | function fromCodePoint() {
function stringPrototypeIterator (line 2112) | function stringPrototypeIterator() {
function polyfillString (line 2117) | function polyfillString(global) {
method startsWith (line 2125) | get startsWith() {
method endsWith (line 2128) | get endsWith() {
method contains (line 2131) | get contains() {
method repeat (line 2134) | get repeat() {
method codePointAt (line 2137) | get codePointAt() {
method raw (line 2140) | get raw() {
method fromCodePoint (line 2143) | get fromCodePoint() {
method stringPrototypeIterator (line 2146) | get stringPrototypeIterator() {
method polyfillString (line 2149) | get polyfillString() {
function require (line 2159) | function require(path) {
function createArrayIterator (line 2202) | function createArrayIterator(array, kind) {
function entries (line 2210) | function entries() {
function keys (line 2213) | function keys() {
function values (line 2216) | function values() {
method entries (line 2220) | get entries() {
method keys (line 2223) | get keys() {
method values (line 2226) | get values() {
function require (line 2234) | function require(path) {
function from (line 2251) | function from(arrLike) {
function of (line 2292) | function of() {
function fill (line 2305) | function fill(value) {
function find (line 2320) | function find(predicate) {
function findIndex (line 2324) | function findIndex(predicate) {
function findHelper (line 2328) | function findHelper(self, predicate) {
function polyfillArray (line 2344) | function polyfillArray(global) {
method from (line 2358) | get from() {
method of (line 2361) | get of() {
method fill (line 2364) | get fill() {
method find (line 2367) | get find() {
method findIndex (line 2370) | get findIndex() {
method polyfillArray (line 2373) | get polyfillArray() {
function require (line 2382) | function require(path) {
function is (line 2394) | function is(left, right) {
function assign (line 2399) | function assign(target) {
function mixin (line 2414) | function mixin(target, source) {
function polyfillObject (line 2428) | function polyfillObject(global) {
method is (line 2434) | get is() {
method assign (line 2437) | get assign() {
method mixin (line 2440) | get mixin() {
method polyfillObject (line 2443) | get polyfillObject() {
function require (line 2452) | function require(path) {
function NumberIsFinite (line 2467) | function NumberIsFinite(number) {
function isInteger (line 2471) | function isInteger(number) {
function NumberIsNaN (line 2474) | function NumberIsNaN(number) {
function isSafeInteger (line 2478) | function isSafeInteger(number) {
function polyfillNumber (line 2486) | function polyfillNumber(global) {
method MAX_SAFE_INTEGER (line 2493) | get MAX_SAFE_INTEGER() {
method MIN_SAFE_INTEGER (line 2496) | get MIN_SAFE_INTEGER() {
method EPSILON (line 2499) | get EPSILON() {
method isFinite (line 2502) | get isFinite() {
method isInteger (line 2505) | get isInteger() {
method isNaN (line 2508) | get isNaN() {
method isSafeInteger (line 2511) | get isSafeInteger() {
method polyfillNumber (line 2514) | get polyfillNumber() {
function require (line 2523) | function require(path) {
FILE: client/components/traceur/traceur.js
function nonEnum (line 20) | function nonEnum(value) {
function newUniqueString (line 30) | function newUniqueString() {
function isPrivateName (line 38) | function isPrivateName(s) {
function createPrivateName (line 41) | function createPrivateName() {
function isShimSymbol (line 46) | function isShimSymbol(symbol) {
function typeOf (line 49) | function typeOf(v) {
function Symbol (line 54) | function Symbol(description) {
function SymbolValue (line 80) | function SymbolValue(description) {
function getOwnHashObject (line 104) | function getOwnHashObject(object) {
function freeze (line 117) | function freeze(object) {
function preventExtensions (line 121) | function preventExtensions(object) {
function seal (line 125) | function seal(object) {
function isSymbolString (line 130) | function isSymbolString(s) {
function toProperty (line 133) | function toProperty(name) {
function removeSymbolKeys (line 138) | function removeSymbolKeys(array) {
function getOwnPropertyNames (line 147) | function getOwnPropertyNames(object) {
function keys (line 150) | function keys(object) {
function getOwnPropertySymbols (line 153) | function getOwnPropertySymbols(object) {
function getOwnPropertyDescriptor (line 164) | function getOwnPropertyDescriptor(object, name) {
function hasOwnProperty (line 167) | function hasOwnProperty(name) {
function getOption (line 170) | function getOption(name) {
function defineProperty (line 173) | function defineProperty(object, name, descriptor) {
function polyfillObject (line 180) | function polyfillObject(Object) {
function exportStar (line 190) | function exportStar(object) {
function isObject (line 209) | function isObject(x) {
function toObject (line 212) | function toObject(x) {
function checkObjectCoercible (line 217) | function checkObjectCoercible(argument) {
function relativeRequire (line 224) | function relativeRequire(callerPath, requiredPath) {
function polyfillSymbol (line 238) | function polyfillSymbol(global, Symbol) {
function setupGlobals (line 247) | function setupGlobals(global) {
function relativeRequire (line 277) | function relativeRequire(callerPath, requiredPath) {
function spread (line 295) | function spread() {
function superDescriptor (line 326) | function superDescriptor(homeObject, name) {
function superConstructor (line 336) | function superConstructor(ctor) {
function superCall (line 339) | function superCall(self, homeObject, name, args) {
function superGet (line 342) | function superGet(self, homeObject, name) {
function superSet (line 351) | function superSet(self, homeObject, name, value) {
function getDescriptors (line 359) | function getDescriptors(object) {
function createClass (line 373) | function createClass(ctor, object, staticObject, superClass) {
function getProtoParent (line 393) | function getProtoParent(superClass) {
function defaultSuperCall (line 404) | function defaultSuperCall(self, homeObject, args) {
function nonEnum (line 422) | function nonEnum(value) {
function getInternalError (line 436) | function getInternalError(state) {
function GeneratorContext (line 439) | function GeneratorContext() {
method sent (line 472) | get sent() {
method sent (line 476) | set sent(v) {
method sentIgnoreThrow (line 479) | get sentIgnoreThrow() {
function nextOrThrow (line 504) | function nextOrThrow(ctx, moveNext, action, x) {
function GeneratorFunction (line 540) | function GeneratorFunction() {}
function GeneratorFunctionPrototype (line 541) | function GeneratorFunctionPrototype() {}
function createGeneratorInstance (line 561) | function createGeneratorInstance(innerFunction, functionObject, self) {
function initGeneratorFunction (line 569) | function initGeneratorFunction(functionObject) {
function AsyncFunctionContext (line 574) | function AsyncFunctionContext() {
function asyncWrap (line 599) | function asyncWrap(innerFunction, self) {
function getMoveNext (line 616) | function getMoveNext(innerFunction, self) {
function handleCatch (line 627) | function handleCatch(ctx, ex) {
function buildFromEncodedParts (line 643) | function buildFromEncodedParts(opt_scheme, opt_userInfo, opt_domain, opt...
function split (line 680) | function split(uri) {
function removeDotSegments (line 683) | function removeDotSegments(path) {
function joinAndCanonicalizePath (line 716) | function joinAndCanonicalizePath(parts) {
function canonicalizeUrl (line 722) | function canonicalizeUrl(url) {
function resolveUrl (line 726) | function resolveUrl(base, url) {
function isAbsolute (line 748) | function isAbsolute(name) {
function genericType (line 778) | function genericType(type) {
function getUncoatedModuleInstantiator (line 856) | function getUncoatedModuleInstantiator(name) {
function Module (line 865) | function Module(uncoatedModule) {
method baseURL (line 920) | get baseURL() {
method baseURL (line 923) | set baseURL(v) {
function require (line 989) | function require(path) {
function toUint32 (line 999) | function toUint32(x) {
function isObject (line 1002) | function isObject(x) {
function isCallable (line 1005) | function isCallable(x) {
function isNumber (line 1008) | function isNumber(x) {
function toInteger (line 1011) | function toInteger(x) {
function toLength (line 1020) | function toLength(x) {
function checkIterable (line 1024) | function checkIterable(x) {
function isConstructor (line 1027) | function isConstructor(x) {
function createIteratorResultObject (line 1030) | function createIteratorResultObject(value, done) {
function maybeDefine (line 1036) | function maybeDefine(object, name, descr) {
function maybeDefineMethod (line 1041) | function maybeDefineMethod(object, name, value) {
function maybeDefineConst (line 1049) | function maybeDefineConst(object, name, value) {
function maybeAddFunctions (line 1057) | function maybeAddFunctions(object, functions) {
function maybeAddConsts (line 1064) | function maybeAddConsts(object, consts) {
function maybeAddIterator (line 1071) | function maybeAddIterator(object, func, Symbol) {
function registerPolyfill (line 1084) | function registerPolyfill(func) {
function polyfillAll (line 1087) | function polyfillAll(global) {
method toObject (line 1093) | get toObject() {
method toUint32 (line 1096) | get toUint32() {
method isObject (line 1099) | get isObject() {
method isCallable (line 1102) | get isCallable() {
method isNumber (line 1105) | get isNumber() {
method toInteger (line 1108) | get toInteger() {
method toLength (line 1111) | get toLength() {
method checkIterable (line 1114) | get checkIterable() {
method isConstructor (line 1117) | get isConstructor() {
method createIteratorResultObject (line 1120) | get createIteratorResultObject() {
method maybeDefine (line 1123) | get maybeDefine() {
method maybeDefineMethod (line 1126) | get maybeDefineMethod() {
method maybeDefineConst (line 1129) | get maybeDefineConst() {
method maybeAddFunctions (line 1132) | get maybeAddFunctions() {
method maybeAddConsts (line 1135) | get maybeAddConsts() {
method maybeAddIterator (line 1138) | get maybeAddIterator() {
method registerPolyfill (line 1141) | get registerPolyfill() {
method polyfillAll (line 1144) | get polyfillAll() {
function require (line 1152) | function require(path) {
function lookupIndex (line 1162) | function lookupIndex(map, key) {
function initMap (line 1171) | function initMap(map) {
method size (line 1199) | get size() {
function polyfillMap (line 1391) | function polyfillMap(global) {
method Map (line 1409) | get Map() {
method polyfillMap (line 1412) | get polyfillMap() {
function require (line 1421) | function require(path) {
function initSet (line 1431) | function initSet(set) {
method size (line 1453) | get size() {
function polyfillSet (line 1549) | function polyfillSet(global) {
method Set (line 1565) | get Set() {
method polyfillSet (line 1568) | get polyfillSet() {
function require (line 1577) | function require(path) {
function asap (line 1581) | function asap(callback, arg) {
function useNextTick (line 1593) | function useNextTick() {
function useMutationObserver (line 1598) | function useMutationObserver() {
function useMessageChannel (line 1607) | function useMessageChannel() {
function useSetTimeout (line 1614) | function useSetTimeout() {
function flush (line 1620) | function flush() {
method default (line 1640) | get default() {
function require (line 1647) | function require(path) {
function isPromise (line 1653) | function isPromise(x) {
function idResolveHandler (line 1656) | function idResolveHandler(x) {
function idRejectHandler (line 1659) | function idRejectHandler(x) {
function chain (line 1662) | function chain(promise) {
function getDeferred (line 1682) | function getDeferred(C) {
function promiseSet (line 1703) | function promiseSet(promise, status, value, onResolve, onReject) {
function promiseInit (line 1710) | function promiseInit(promise) {
function promiseResolve (line 1808) | function promiseResolve(promise, x) {
function promiseReject (line 1811) | function promiseReject(promise, r) {
function promiseDone (line 1814) | function promiseDone(promise, status, value, reactions) {
function promiseEnqueue (line 1820) | function promiseEnqueue(value, tasks) {
function promiseHandle (line 1827) | function promiseHandle(value, handler, deferred) {
function isObject (line 1843) | function isObject(x) {
function promiseCoerce (line 1846) | function promiseCoerce(constructor, x) {
function polyfillPromise (line 1874) | function polyfillPromise(global) {
method Promise (line 1880) | get Promise() {
method polyfillPromise (line 1883) | get polyfillPromise() {
function require (line 1893) | function require(path) {
function createStringIterator (line 1946) | function createStringIterator(string) {
method createStringIterator (line 1953) | get createStringIterator() {
function require (line 1960) | function require(path) {
function startsWith (line 1971) | function startsWith(search) {
function endsWith (line 1987) | function endsWith(search) {
function contains (line 2012) | function contains(search) {
function repeat (line 2028) | function repeat(count) {
function codePointAt (line 2049) | function codePointAt(position) {
function raw (line 2072) | function raw(callsite) {
function fromCodePoint (line 2086) | function fromCodePoint() {
function stringPrototypeIterator (line 2112) | function stringPrototypeIterator() {
function polyfillString (line 2117) | function polyfillString(global) {
method startsWith (line 2125) | get startsWith() {
method endsWith (line 2128) | get endsWith() {
method contains (line 2131) | get contains() {
method repeat (line 2134) | get repeat() {
method codePointAt (line 2137) | get codePointAt() {
method raw (line 2140) | get raw() {
method fromCodePoint (line 2143) | get fromCodePoint() {
method stringPrototypeIterator (line 2146) | get stringPrototypeIterator() {
method polyfillString (line 2149) | get polyfillString() {
function require (line 2159) | function require(path) {
function createArrayIterator (line 2202) | function createArrayIterator(array, kind) {
function entries (line 2210) | function entries() {
function keys (line 2213) | function keys() {
function values (line 2216) | function values() {
method entries (line 2220) | get entries() {
method keys (line 2223) | get keys() {
method values (line 2226) | get values() {
function require (line 2234) | function require(path) {
function from (line 2251) | function from(arrLike) {
function of (line 2292) | function of() {
function fill (line 2305) | function fill(value) {
function find (line 2320) | function find(predicate) {
function findIndex (line 2324) | function findIndex(predicate) {
function findHelper (line 2328) | function findHelper(self, predicate) {
function polyfillArray (line 2344) | function polyfillArray(global) {
method from (line 2358) | get from() {
method of (line 2361) | get of() {
method fill (line 2364) | get fill() {
method find (line 2367) | get find() {
method findIndex (line 2370) | get findIndex() {
method polyfillArray (line 2373) | get polyfillArray() {
function require (line 2382) | function require(path) {
function is (line 2394) | function is(left, right) {
function assign (line 2399) | function assign(target) {
function mixin (line 2414) | function mixin(target, source) {
function polyfillObject (line 2428) | function polyfillObject(global) {
method is (line 2434) | get is() {
method assign (line 2437) | get assign() {
method mixin (line 2440) | get mixin() {
method polyfillObject (line 2443) | get polyfillObject() {
function require (line 2452) | function require(path) {
function NumberIsFinite (line 2467) | function NumberIsFinite(number) {
function isInteger (line 2471) | function isInteger(number) {
function NumberIsNaN (line 2474) | function NumberIsNaN(number) {
function isSafeInteger (line 2478) | function isSafeInteger(number) {
function polyfillNumber (line 2486) | function polyfillNumber(global) {
method MAX_SAFE_INTEGER (line 2493) | get MAX_SAFE_INTEGER() {
method MIN_SAFE_INTEGER (line 2496) | get MIN_SAFE_INTEGER() {
method EPSILON (line 2499) | get EPSILON() {
method isFinite (line 2502) | get isFinite() {
method isInteger (line 2505) | get isInteger() {
method isNaN (line 2508) | get isNaN() {
method isSafeInteger (line 2511) | get isSafeInteger() {
method polyfillNumber (line 2514) | get polyfillNumber() {
function require (line 2523) | function require(path) {
function require (line 2539) | function require(path) {
function enumerableOnlyObject (line 2542) | function enumerableOnlyObject(obj) {
method experimental (line 2614) | set experimental(v) {
method experimental (line 2621) | get experimental() {
method modules (line 2638) | get modules() {
method modules (line 2641) | set modules(value) {
method sourceMaps (line 2649) | get sourceMaps() {
method sourceMaps (line 2652) | set sourceMaps(value) {
function coerceOptionValue (line 2746) | function coerceOptionValue(v) {
function addOptions (line 2757) | function addOptions(flags, commandOptions) {
function toCamelCase (line 2807) | function toCamelCase(s) {
function toDashCase (line 2812) | function toDashCase(s) {
function addFeatureOption (line 2819) | function addFeatureOption(name, kind) {
function addBoolOption (line 2843) | function addBoolOption(name) {
method optionsV01 (line 2880) | get optionsV01() {
method versionLockedOptions (line 2883) | get versionLockedOptions() {
method parseOptions (line 2886) | get parseOptions() {
method transformOptions (line 2889) | get transformOptions() {
method Options (line 2892) | get Options() {
method options (line 2895) | get options() {
method CommandOptions (line 2898) | get CommandOptions() {
method addOptions (line 2901) | get addOptions() {
method toDashCase (line 2904) | get toDashCase() {
function require (line 2912) | function require(path) {
method AMPERSAND (line 3025) | get AMPERSAND() {
method AMPERSAND_EQUAL (line 3028) | get AMPERSAND_EQUAL() {
method AND (line 3031) | get AND() {
method ARROW (line 3034) | get ARROW() {
method AT (line 3037) | get AT() {
method BACK_QUOTE (line 3040) | get BACK_QUOTE() {
method BANG (line 3043) | get BANG() {
method BAR (line 3046) | get BAR() {
method BAR_EQUAL (line 3049) | get BAR_EQUAL() {
method BREAK (line 3052) | get BREAK() {
method CARET (line 3055) | get CARET() {
method CARET_EQUAL (line 3058) | get CARET_EQUAL() {
method CASE (line 3061) | get CASE() {
method CATCH (line 3064) | get CATCH() {
method CLASS (line 3067) | get CLASS() {
method CLOSE_ANGLE (line 3070) | get CLOSE_ANGLE() {
method CLOSE_CURLY (line 3073) | get CLOSE_CURLY() {
method CLOSE_PAREN (line 3076) | get CLOSE_PAREN() {
method CLOSE_SQUARE (line 3079) | get CLOSE_SQUARE() {
method COLON (line 3082) | get COLON() {
method COMMA (line 3085) | get COMMA() {
method CONST (line 3088) | get CONST() {
method CONTINUE (line 3091) | get CONTINUE() {
method DEBUGGER (line 3094) | get DEBUGGER() {
method DEFAULT (line 3097) | get DEFAULT() {
method DELETE (line 3100) | get DELETE() {
method DO (line 3103) | get DO() {
method DOT_DOT_DOT (line 3106) | get DOT_DOT_DOT() {
method ELSE (line 3109) | get ELSE() {
method END_OF_FILE (line 3112) | get END_OF_FILE() {
method ENUM (line 3115) | get ENUM() {
method EQUAL (line 3118) | get EQUAL() {
method EQUAL_EQUAL (line 3121) | get EQUAL_EQUAL() {
method EQUAL_EQUAL_EQUAL (line 3124) | get EQUAL_EQUAL_EQUAL() {
method ERROR (line 3127) | get ERROR() {
method EXPORT (line 3130) | get EXPORT() {
method EXTENDS (line 3133) | get EXTENDS() {
method FALSE (line 3136) | get FALSE() {
method FINALLY (line 3139) | get FINALLY() {
method FOR (line 3142) | get FOR() {
method FUNCTION (line 3145) | get FUNCTION() {
method GREATER_EQUAL (line 3148) | get GREATER_EQUAL() {
method IDENTIFIER (line 3151) | get IDENTIFIER() {
method IF (line 3154) | get IF() {
method IMPLEMENTS (line 3157) | get IMPLEMENTS() {
method IMPORT (line 3160) | get IMPORT() {
method IN (line 3163) | get IN() {
method INSTANCEOF (line 3166) | get INSTANCEOF() {
method INTERFACE (line 3169) | get INTERFACE() {
method LEFT_SHIFT (line 3172) | get LEFT_SHIFT() {
method LEFT_SHIFT_EQUAL (line 3175) | get LEFT_SHIFT_EQUAL() {
method LESS_EQUAL (line 3178) | get LESS_EQUAL() {
method LET (line 3181) | get LET() {
method MINUS (line 3184) | get MINUS() {
method MINUS_EQUAL (line 3187) | get MINUS_EQUAL() {
method MINUS_MINUS (line 3190) | get MINUS_MINUS() {
method NEW (line 3193) | get NEW() {
method NO_SUBSTITUTION_TEMPLATE (line 3196) | get NO_SUBSTITUTION_TEMPLATE() {
method NOT_EQUAL (line 3199) | get NOT_EQUAL() {
method NOT_EQUAL_EQUAL (line 3202) | get NOT_EQUAL_EQUAL() {
method NULL (line 3205) | get NULL() {
method NUMBER (line 3208) | get NUMBER() {
method OPEN_ANGLE (line 3211) | get OPEN_ANGLE() {
method OPEN_CURLY (line 3214) | get OPEN_CURLY() {
method OPEN_PAREN (line 3217) | get OPEN_PAREN() {
method OPEN_SQUARE (line 3220) | get OPEN_SQUARE() {
method OR (line 3223) | get OR() {
method PACKAGE (line 3226) | get PACKAGE() {
method PERCENT (line 3229) | get PERCENT() {
method PERCENT_EQUAL (line 3232) | get PERCENT_EQUAL() {
method PERIOD (line 3235) | get PERIOD() {
method PLUS (line 3238) | get PLUS() {
method PLUS_EQUAL (line 3241) | get PLUS_EQUAL() {
method PLUS_PLUS (line 3244) | get PLUS_PLUS() {
method PRIVATE (line 3247) | get PRIVATE() {
method PROTECTED (line 3250) | get PROTECTED() {
method PUBLIC (line 3253) | get PUBLIC() {
method QUESTION (line 3256) | get QUESTION() {
method REGULAR_EXPRESSION (line 3259) | get REGULAR_EXPRESSION() {
method RETURN (line 3262) | get RETURN() {
method RIGHT_SHIFT (line 3265) | get RIGHT_SHIFT() {
method RIGHT_SHIFT_EQUAL (line 3268) | get RIGHT_SHIFT_EQUAL() {
method SEMI_COLON (line 3271) | get SEMI_COLON() {
method SLASH (line 3274) | get SLASH() {
method SLASH_EQUAL (line 3277) | get SLASH_EQUAL() {
method STAR (line 3280) | get STAR() {
method STAR_EQUAL (line 3283) | get STAR_EQUAL() {
method STAR_STAR (line 3286) | get STAR_STAR() {
method STAR_STAR_EQUAL (line 3289) | get STAR_STAR_EQUAL() {
method STATIC (line 3292) | get STATIC() {
method STRING (line 3295) | get STRING() {
method SUPER (line 3298) | get SUPER() {
method SWITCH (line 3301) | get SWITCH() {
method TEMPLATE_HEAD (line 3304) | get TEMPLATE_HEAD() {
method TEMPLATE_MIDDLE (line 3307) | get TEMPLATE_MIDDLE() {
method TEMPLATE_TAIL (line 3310) | get TEMPLATE_TAIL() {
method THIS (line 3313) | get THIS() {
method THROW (line 3316) | get THROW() {
method TILDE (line 3319) | get TILDE() {
method TRUE (line 3322) | get TRUE() {
method TRY (line 3325) | get TRY() {
method TYPEOF (line 3328) | get TYPEOF() {
method UNSIGNED_RIGHT_SHIFT (line 3331) | get UNSIGNED_RIGHT_SHIFT() {
method UNSIGNED_RIGHT_SHIFT_EQUAL (line 3334) | get UNSIGNED_RIGHT_SHIFT_EQUAL() {
method VAR (line 3337) | get VAR() {
method VOID (line 3340) | get VOID() {
method WHILE (line 3343) | get WHILE() {
method WITH (line 3346) | get WITH() {
method YIELD (line 3349) | get YIELD() {
function require (line 3357) | function require(path) {
method ANNOTATION (line 3461) | get ANNOTATION() {
method ANON_BLOCK (line 3464) | get ANON_BLOCK() {
method ARGUMENT_LIST (line 3467) | get ARGUMENT_LIST() {
method ARRAY_COMPREHENSION (line 3470) | get ARRAY_COMPREHENSION() {
method ARRAY_LITERAL_EXPRESSION (line 3473) | get ARRAY_LITERAL_EXPRESSION() {
method ARRAY_PATTERN (line 3476) | get ARRAY_PATTERN() {
method ARROW_FUNCTION_EXPRESSION (line 3479) | get ARROW_FUNCTION_EXPRESSION() {
method ASSIGNMENT_ELEMENT (line 3482) | get ASSIGNMENT_ELEMENT() {
method AWAIT_EXPRESSION (line 3485) | get AWAIT_EXPRESSION() {
method BINARY_EXPRESSION (line 3488) | get BINARY_EXPRESSION() {
method BINDING_ELEMENT (line 3491) | get BINDING_ELEMENT() {
method BINDING_IDENTIFIER (line 3494) | get BINDING_IDENTIFIER() {
method BLOCK (line 3497) | get BLOCK() {
method BREAK_STATEMENT (line 3500) | get BREAK_STATEMENT() {
method CALL_EXPRESSION (line 3503) | get CALL_EXPRESSION() {
method CASE_CLAUSE (line 3506) | get CASE_CLAUSE() {
method CATCH (line 3509) | get CATCH() {
method CLASS_DECLARATION (line 3512) | get CLASS_DECLARATION() {
method CLASS_EXPRESSION (line 3515) | get CLASS_EXPRESSION() {
method
Condensed preview — 936 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (6,868K chars).
[
{
"path": ".bowerrc",
"chars": 39,
"preview": "{\n \"directory\": \"client/components\"\n}\n"
},
{
"path": ".editorconfig",
"chars": 147,
"preview": "root = true\n\n[*]\nindent_style = space\nindent_size = 2\nend_of_line = lf\ncharset = utf-8\ntrim_trailing_whitespace = true\ni"
},
{
"path": ".gitignore",
"chars": 105,
"preview": ".DS_Store\nnode_modules/*\ndist/*\ne2e-dist/*\nSession.vim\nnpm-debug.log\nclient/main.css\nclient/app-compiled\n"
},
{
"path": ".jshintignore",
"chars": 79,
"preview": "node_modules\nclient/components\nclient/vendor\nclient/app-compiled\ndist\ne2e-dist\n"
},
{
"path": ".jshintrc",
"chars": 2585,
"preview": "{\n \"bitwise\" : false,\n \"curly\" : false,\n \"eqeqeq\" : true,\n \"forin\" : true,\n "
},
{
"path": "README.md",
"chars": 1970,
"preview": "ES6 + AngularJS\n===============\n\nThis is a sample Angular 1.3 application that is structured using ES6 modules and adher"
},
{
"path": "bower.json",
"chars": 780,
"preview": "{\n \"name\": \"ES6 + AngularJS\",\n \"version\": \"0.0.1-pre\",\n \"homepage\": \"https://github.com/gocardless/es6-angularjs\",\n "
},
{
"path": "client/404.html",
"chars": 2015,
"preview": "<!doctype html>\n<html>\n<meta charset=utf-8>\n<title>Oops! Page not found - ES6 + AngularJS</title>\n<style>\n *, :before, "
},
{
"path": "client/app/bootstrap.js",
"chars": 233,
"preview": "import angular from 'angular';\nimport {mainModule} from './main';\n\nangular.element(document).ready(function() {\n angula"
},
{
"path": "client/app/components/auth-required/auth-required.controller.js",
"chars": 491,
"preview": "import angular from 'angular';\nimport 'angular-ui-router';\nimport _ from 'lodash';\n\nexport var authRequiredControllerMod"
},
{
"path": "client/app/components/auth-required/auth-required.directive.js",
"chars": 595,
"preview": "import angular from 'angular';\nimport 'angular-ui-router';\n\nimport {authRequiredControllerModule} from './auth-required."
},
{
"path": "client/app/components/auth-required/auth-required.template.html",
"chars": 230,
"preview": "<div>\n <nav>\n <a ui-sref=\"authRequired.home.index\"\n ng-class=\"{ 'is-active': ctrl.isParentStateActive('authReq"
},
{
"path": "client/app/components/site-header/site-header.directive.js",
"chars": 443,
"preview": "import angular from 'angular';\n\nimport template from './site-header.template.html!text';\n\nexport var siteHeaderComponent"
},
{
"path": "client/app/components/site-header/site-header.template.html",
"chars": 83,
"preview": "<div>\n <h1>ES6 + AngularJS</h1>\n <p>User: {{ ctrl.currentUser.name }}</p>\n</div>\n"
},
{
"path": "client/app/config/main.config.js",
"chars": 1517,
"preview": "import angular from 'angular';\nimport 'angular-ui-router';\n\nimport {errorsRouteModule} from 'app/routes/errors/errors.ro"
},
{
"path": "client/app/main.js",
"chars": 516,
"preview": "import angular from 'angular';\nimport 'angular-touch';\nimport 'angular-animate';\nimport 'angular-aria';\nimport 'angular-"
},
{
"path": "client/app/routes/auth-required.route.js",
"chars": 1342,
"preview": "import angular from 'angular';\nimport 'angular-ui-router';\n\nimport {currentUserModule} from 'app/services/current-user/c"
},
{
"path": "client/app/routes/errors/404/errors-404.route.js",
"chars": 383,
"preview": "import angular from 'angular';\nimport 'angular-ui-router';\nimport template from './errors-404.template.html!text';\n\nexpo"
},
{
"path": "client/app/routes/errors/404/errors-404.template.html",
"chars": 118,
"preview": "<h1>Oops! This link appears broken.</h1>\n<p>The page may have moved, or perhaps <br>\n you mis-typed the address.</p>\n"
},
{
"path": "client/app/routes/errors/errors.route.js",
"chars": 419,
"preview": "import angular from 'angular';\nimport 'angular-ui-router';\nimport {errors404RouteModule} from './404/errors-404.route';\n"
},
{
"path": "client/app/routes/home/home.route.js",
"chars": 531,
"preview": "import angular from 'angular';\nimport 'angular-ui-router';\n\nimport {homeIndexRouteModule} from './index/home-index.route"
},
{
"path": "client/app/routes/home/index/home-index.e2e.js",
"chars": 165,
"preview": "describe('home index', function() {\n it('has heading', function() {\n browser.get('/');\n expect(element(by.css('h2"
},
{
"path": "client/app/routes/home/index/home-index.route.js",
"chars": 492,
"preview": "import angular from 'angular';\nimport 'angular-ui-router';\n\nimport {authRequiredRouteModule} from 'app/routes/auth-requi"
},
{
"path": "client/app/routes/home/index/home-index.template.html",
"chars": 32,
"preview": "<div>\n <h2>Example</h2>\n</div>\n"
},
{
"path": "client/app/services/current-user/current-user.js",
"chars": 365,
"preview": "import angular from 'angular';\n\nexport var currentUserModule = angular.module('currentUserModule', [\n]).factory('Current"
},
{
"path": "client/app/services/current-user/current-user.spec.js",
"chars": 621,
"preview": "import angular from 'angular';\nimport 'angular-mock';\n\nimport {currentUserModule} from './current-user';\n\ndescribe('Curr"
},
{
"path": "client/assets/stylesheets/main.css",
"chars": 111,
"preview": "@import 'variables.css';\n\n@import '../../components/normalize-css/normalize.css';\n\n@import 'shared/base.css';\n\n"
},
{
"path": "client/assets/stylesheets/shared/base.css",
"chars": 2942,
"preview": "/* ==========================================================================\n Base\n ==============================="
},
{
"path": "client/assets/stylesheets/variables.css",
"chars": 443,
"preview": ":root {\n --font-family-base: sans-serif;\n --font-family-monospace: monospace;\n\n --font-size-xxxl: 24px;\n --font-size"
},
{
"path": "client/components/angular/.bower.json",
"chars": 428,
"preview": "{\n \"name\": \"angular\",\n \"version\": \"1.3.5\",\n \"main\": \"./angular.js\",\n \"ignore\": [],\n \"dependencies\": {},\n \"homepage"
},
{
"path": "client/components/angular/README.md",
"chars": 2144,
"preview": "# packaged angular\n\nThis repo is for distribution on `npm` and `bower`. The source for this module is in the\n[main Angul"
},
{
"path": "client/components/angular/angular-csp.css",
"chars": 263,
"preview": "/* Include this file in your html if you are using the CSP mode. */\n\n@charset \"UTF-8\";\n\n[ng\\:cloak], [ng-cloak], [data-n"
},
{
"path": "client/components/angular/angular.js",
"chars": 943951,
"preview": "/**\n * @license AngularJS v1.3.5\n * (c) 2010-2014 Google, Inc. http://angularjs.org\n * License: MIT\n */\n(function(window"
},
{
"path": "client/components/angular/bower.json",
"chars": 113,
"preview": "{\n \"name\": \"angular\",\n \"version\": \"1.3.5\",\n \"main\": \"./angular.js\",\n \"ignore\": [],\n \"dependencies\": {\n }\n}\n"
},
{
"path": "client/components/angular/package.json",
"chars": 574,
"preview": "{\n \"name\": \"angular\",\n \"version\": \"1.3.5\",\n \"description\": \"HTML enhanced for web apps\",\n \"main\": \"angular.js\",\n \"s"
},
{
"path": "client/components/angular-animate/.bower.json",
"chars": 494,
"preview": "{\n \"name\": \"angular-animate\",\n \"version\": \"1.3.5\",\n \"main\": \"./angular-animate.js\",\n \"ignore\": [],\n \"dependencies\":"
},
{
"path": "client/components/angular-animate/README.md",
"chars": 2270,
"preview": "# packaged angular-animate\n\nThis repo is for distribution on `npm` and `bower`. The source for this module is in the\n[ma"
},
{
"path": "client/components/angular-animate/angular-animate.js",
"chars": 103337,
"preview": "/**\n * @license AngularJS v1.3.5\n * (c) 2010-2014 Google, Inc. http://angularjs.org\n * License: MIT\n */\n(function(window"
},
{
"path": "client/components/angular-animate/bower.json",
"chars": 152,
"preview": "{\n \"name\": \"angular-animate\",\n \"version\": \"1.3.5\",\n \"main\": \"./angular-animate.js\",\n \"ignore\": [],\n \"dependencies\":"
},
{
"path": "client/components/angular-animate/package.json",
"chars": 612,
"preview": "{\n \"name\": \"angular-animate\",\n \"version\": \"1.3.5\",\n \"description\": \"AngularJS module for animations\",\n \"main\": \"angu"
},
{
"path": "client/components/angular-aria/.bower.json",
"chars": 479,
"preview": "{\n \"name\": \"angular-aria\",\n \"version\": \"1.3.5\",\n \"main\": \"./angular-aria.js\",\n \"ignore\": [],\n \"dependencies\": {\n "
},
{
"path": "client/components/angular-aria/README.md",
"chars": 2223,
"preview": "# packaged angular-aria\n\nThis repo is for distribution on `npm` and `bower`. The source for this module is in the\n[main "
},
{
"path": "client/components/angular-aria/angular-aria.js",
"chars": 10952,
"preview": "/**\n * @license AngularJS v1.3.5\n * (c) 2010-2014 Google, Inc. http://angularjs.org\n * License: MIT\n */\n(function(window"
},
{
"path": "client/components/angular-aria/bower.json",
"chars": 146,
"preview": "{\n \"name\": \"angular-aria\",\n \"version\": \"1.3.5\",\n \"main\": \"./angular-aria.js\",\n \"ignore\": [],\n \"dependencies\": {\n "
},
{
"path": "client/components/angular-aria/package.json",
"chars": 637,
"preview": "{\n \"name\": \"angular-aria\",\n \"version\": \"1.3.5\",\n \"description\": \"AngularJS module for making accessibility easy\",\n \""
},
{
"path": "client/components/angular-i18n/.bower.json",
"chars": 453,
"preview": "{\n \"name\": \"angular-i18n\",\n \"version\": \"1.3.5\",\n \"ignore\": [\n \"**/.*\",\n \"node_modules\",\n \"components\"\n ],\n "
},
{
"path": "client/components/angular-i18n/README.md",
"chars": 2018,
"preview": "# packaged angular-i18n\n\nThis repo is for distribution on `npm` and `bower`. The source for this module is in the\n[main "
},
{
"path": "client/components/angular-i18n/angular-locale_aa-dj.js",
"chars": 2322,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_aa-er.js",
"chars": 2321,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_aa-et.js",
"chars": 2322,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_aa.js",
"chars": 2319,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_af-na.js",
"chars": 1901,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_af-za.js",
"chars": 1898,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_af.js",
"chars": 1895,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_agq-cm.js",
"chars": 3002,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_agq.js",
"chars": 2999,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_ak-gh.js",
"chars": 2528,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_ak.js",
"chars": 2525,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_am-et.js",
"chars": 2514,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_am.js",
"chars": 2511,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_ar-001.js",
"chars": 3341,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_ar-ae.js",
"chars": 3336,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_ar-bh.js",
"chars": 3337,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_ar-dj.js",
"chars": 3337,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_ar-dz.js",
"chars": 3231,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_ar-eg.js",
"chars": 3340,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_ar-eh.js",
"chars": 3326,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_ar-er.js",
"chars": 3337,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_ar-il.js",
"chars": 3340,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_ar-iq.js",
"chars": 3501,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_ar-jo.js",
"chars": 3501,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_ar-km.js",
"chars": 3336,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_ar-kw.js",
"chars": 3337,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_ar-lb.js",
"chars": 3483,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_ar-ly.js",
"chars": 3327,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_ar-ma.js",
"chars": 3218,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_ar-mr.js",
"chars": 3301,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_ar-om.js",
"chars": 3338,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_ar-ps.js",
"chars": 3504,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_ar-qa.js",
"chars": 3326,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_ar-sa.js",
"chars": 3326,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_ar-sd.js",
"chars": 3337,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_ar-so.js",
"chars": 3337,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_ar-ss.js",
"chars": 3337,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_ar-sy.js",
"chars": 3492,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_ar-td.js",
"chars": 3338,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_ar-tn.js",
"chars": 3219,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_ar-ye.js",
"chars": 3326,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_ar.js",
"chars": 3337,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_as-in.js",
"chars": 3449,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_as.js",
"chars": 3446,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_asa-tz.js",
"chars": 2308,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_asa.js",
"chars": 2305,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_ast-es.js",
"chars": 2359,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_ast.js",
"chars": 2356,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_az-cyrl-az.js",
"chars": 3196,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_az-cyrl.js",
"chars": 3195,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_az-latn-az.js",
"chars": 2027,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_az-latn.js",
"chars": 2026,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_az.js",
"chars": 2019,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_bas-cm.js",
"chars": 2660,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_bas.js",
"chars": 2657,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_be-by.js",
"chars": 3329,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_be.js",
"chars": 3326,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_bem-zm.js",
"chars": 2365,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_bem.js",
"chars": 2362,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_bez-tz.js",
"chars": 2485,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_bez.js",
"chars": 2482,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_bg-bg.js",
"chars": 2854,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_bg.js",
"chars": 2851,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_bm-latn-ml.js",
"chars": 2326,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_bm-latn.js",
"chars": 2326,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_bm-ml.js",
"chars": 2321,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_bm.js",
"chars": 2318,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_bn-bd.js",
"chars": 3158,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_bn-in.js",
"chars": 3158,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_bn.js",
"chars": 3155,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_bo-cn.js",
"chars": 4288,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_bo-in.js",
"chars": 4288,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_bo.js",
"chars": 4285,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_br-fr.js",
"chars": 2330,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_br.js",
"chars": 2327,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_brx-in.js",
"chars": 3518,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_brx.js",
"chars": 3515,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_bs-cyrl-ba.js",
"chars": 3257,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_bs-cyrl.js",
"chars": 3258,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_bs-latn-ba.js",
"chars": 2333,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_bs-latn.js",
"chars": 2334,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_bs.js",
"chars": 2325,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_byn-er.js",
"chars": 3067,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_byn.js",
"chars": 3064,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_ca-ad.js",
"chars": 2323,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_ca-es-valencia.js",
"chars": 2332,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_ca-es.js",
"chars": 2323,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_ca-fr.js",
"chars": 2323,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_ca-it.js",
"chars": 2323,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_ca.js",
"chars": 2320,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_cgg-ug.js",
"chars": 2365,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_cgg.js",
"chars": 2362,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_chr-us.js",
"chars": 2554,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_chr.js",
"chars": 2551,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_ckb-arab-iq.js",
"chars": 3846,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_ckb-arab-ir.js",
"chars": 3847,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_ckb-arab.js",
"chars": 3846,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_ckb-iq.js",
"chars": 3841,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_ckb-ir.js",
"chars": 3842,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_ckb-latn-iq.js",
"chars": 3846,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_ckb-latn.js",
"chars": 3846,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_ckb.js",
"chars": 3838,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_cs-cz.js",
"chars": 2555,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_cs.js",
"chars": 2552,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_cy-gb.js",
"chars": 2122,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_cy.js",
"chars": 2119,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_da-dk.js",
"chars": 2528,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_da-gl.js",
"chars": 2528,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_da.js",
"chars": 2525,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_dav-ke.js",
"chars": 2481,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_dav.js",
"chars": 2478,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_de-at.js",
"chars": 2340,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_de-be.js",
"chars": 2324,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_de-ch.js",
"chars": 2315,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_de-de.js",
"chars": 2324,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_de-li.js",
"chars": 2321,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_de-lu.js",
"chars": 2324,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_de.js",
"chars": 2321,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_dje-ne.js",
"chars": 2325,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_dje.js",
"chars": 2322,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_dsb-de.js",
"chars": 2385,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_dsb.js",
"chars": 2382,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_dua-cm.js",
"chars": 2640,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_dua.js",
"chars": 2637,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_dyo-sn.js",
"chars": 2292,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_dyo.js",
"chars": 2289,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_dz-bt.js",
"chars": 4129,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_dz.js",
"chars": 4126,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_ebu-ke.js",
"chars": 2460,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_ebu.js",
"chars": 2457,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_ee-gh.js",
"chars": 2427,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_ee-tg.js",
"chars": 2427,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_ee.js",
"chars": 2424,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_el-cy.js",
"chars": 2990,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_el-gr.js",
"chars": 3002,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_el.js",
"chars": 2999,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_en-001.js",
"chars": 2282,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_en-150.js",
"chars": 2290,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_en-ag.js",
"chars": 2281,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_en-ai.js",
"chars": 2281,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_en-as.js",
"chars": 2281,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_en-au.js",
"chars": 2277,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_en-bb.js",
"chars": 2281,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_en-be.js",
"chars": 2294,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_en-bm.js",
"chars": 2281,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_en-bs.js",
"chars": 2281,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_en-bw.js",
"chars": 2284,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_en-bz.js",
"chars": 2280,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_en-ca.js",
"chars": 2283,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_en-cc.js",
"chars": 2281,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_en-ck.js",
"chars": 2281,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_en-cm.js",
"chars": 2284,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
},
{
"path": "client/components/angular-i18n/angular-locale_en-cx.js",
"chars": 2281,
"preview": "'use strict';\nangular.module(\"ngLocale\", [], [\"$provide\", function($provide) {\nvar PLURAL_CATEGORY = {ZERO: \"zero\", ONE:"
}
]
// ... and 736 more files (download for full content)
About this extraction
This page contains the full source code of the gocardless/es6-angularjs GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 936 files (6.0 MB), approximately 1.6M tokens, and a symbol index with 3484 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.