Skip to content

Commit f9baff7

Browse files
committed
initial commit
0 parents  commit f9baff7

6 files changed

+1362
-0
lines changed

.eslintrc.json

+119
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
{
2+
"env": {
3+
"browser": true,
4+
"es6": true
5+
},
6+
"extends": "eslint:recommended",
7+
"parserOptions": {
8+
"sourceType": "module",
9+
"ecmaVersion": 2020
10+
},
11+
"plugins": [
12+
"jsdoc"
13+
],
14+
"rules": {
15+
"indent": [
16+
"error",
17+
4
18+
],
19+
"linebreak-style": [
20+
"error",
21+
"unix"
22+
],
23+
"quotes": [
24+
"error",
25+
"single"
26+
],
27+
"semi": [
28+
"error",
29+
"always"
30+
],
31+
"getter-return": [
32+
"error"
33+
],
34+
"no-console": 0,
35+
"prefer-arrow-callback": [
36+
"error"
37+
],
38+
"prefer-const": [
39+
"error"
40+
],
41+
"no-var": [
42+
"error"
43+
],
44+
"prefer-template": [
45+
"error"
46+
],
47+
"no-multiple-empty-lines": [
48+
"error"
49+
],
50+
"padding-line-between-statements": [
51+
"error",
52+
{ "blankLine": "always", "prev": "let", "next": "*" },
53+
{ "blankLine": "always", "prev": "const", "next": "*" },
54+
{ "blankLine": "any", "prev": "const", "next": "const" },
55+
{ "blankLine": "any", "prev": "const", "next": "let" },
56+
{ "blankLine": "any", "prev": "let", "next": "let" },
57+
{ "blankLine": "any", "prev": "let", "next": "const" },
58+
{ "blankLine": "always", "prev": "if", "next": "*" },
59+
{ "blankLine": "always", "prev": "*", "next": "if" },
60+
{ "blankLine": "always", "prev": "while", "next": "*" },
61+
{ "blankLine": "always", "prev": "*", "next": "while" },
62+
{ "blankLine": "always", "prev": "for", "next": "*" },
63+
{ "blankLine": "always", "prev": "*", "next": "for" },
64+
{ "blankLine": "always", "prev": "export", "next": "*" },
65+
{ "blankLine": "always", "prev": "*", "next": "export" },
66+
{ "blankLine": "any", "prev": "export", "next": "export" },
67+
{ "blankLine": "always", "prev": "import", "next": "*" },
68+
{ "blankLine": "always", "prev": "*", "next": "import" },
69+
{ "blankLine": "any", "prev": "import", "next": "import" },
70+
{ "blankLine": "always", "prev": "*", "next": "continue" },
71+
{ "blankLine": "always", "prev": "*", "next": "break" },
72+
{ "blankLine": "always", "prev": "*", "next": "return" },
73+
{ "blankLine": "always", "prev": "function", "next": "*" },
74+
{ "blankLine": "always", "prev": "*", "next": "function" },
75+
{ "blankLine": "always", "prev": "try", "next": "*" },
76+
{ "blankLine": "always", "prev": "*", "next": "try" },
77+
{ "blankLine": "always", "prev": "*", "next": "multiline-block-like" },
78+
{ "blankLine": "always", "prev": "multiline-block-like", "next": "*" }
79+
],
80+
"lines-around-comment": [
81+
"error",
82+
{ "beforeBlockComment": true, "beforeLineComment": true }
83+
],
84+
"spaced-comment": [
85+
"error",
86+
"always", {
87+
"block": {
88+
"balanced": true
89+
}
90+
}
91+
],
92+
"quote-props": [
93+
"error",
94+
"as-needed"
95+
],
96+
"key-spacing": [
97+
"error"
98+
],
99+
100+
"jsdoc/check-alignment": 1,
101+
"jsdoc/check-param-names": 1,
102+
"jsdoc/check-types": 1,
103+
"jsdoc/require-param": 1,
104+
"jsdoc/require-param-name": 1,
105+
"jsdoc/require-param-type": 1,
106+
"jsdoc/require-returns": 1,
107+
"jsdoc/require-returns-check": 1,
108+
"jsdoc/require-returns-type": 1,
109+
"jsdoc/valid-types": 1,
110+
"jsdoc/no-undefined-types": 1
111+
},
112+
"settings": {
113+
"jsdoc": {
114+
"tagNamePreference": {
115+
"returns": "return"
116+
}
117+
}
118+
}
119+
}

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
node_modules/

.tern-project

+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
{
2+
"ecmaVersion": 8,
3+
"libs": [
4+
"browser"
5+
],
6+
"loadEagerly": [],
7+
"plugins": {
8+
"doc_comment": {
9+
"strong": true
10+
},
11+
"complete_strings": {
12+
"maxLength": 15
13+
},
14+
"node_resolve": {},
15+
"modules": {
16+
"load": "",
17+
"modules": ""
18+
},
19+
"es_modules": {},
20+
"commonjs": {}
21+
}
22+
}

LICENSE

+229
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,229 @@
1+
Apache License
2+
3+
Version 2.0, January 2004
4+
5+
http://www.apache.org/licenses/ TERMS
6+
AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
7+
8+
1. Definitions.
9+
10+
11+
12+
13+
"License" shall mean the terms and conditions for use, reproduction, and
14+
distribution as defined by Sections 1 through 9 of this document.
15+
16+
17+
18+
19+
"Licensor" shall mean the copyright owner or entity authorized by the copyright
20+
owner that is granting the License.
21+
22+
23+
24+
"Legal Entity" shall mean the
25+
union of the acting entity and all other entities that control, are controlled
26+
by, or are under common control with that entity. For the purposes of this
27+
definition, "control" means (i) the power, direct or indirect, to cause the
28+
direction or management of such entity, whether by contract or otherwise, or (ii)
29+
ownership of fifty percent (50%) or more of the outstanding shares, or (iii)
30+
beneficial ownership of such entity.
31+
32+
33+
34+
"You" (or "Your") shall mean
35+
an individual or Legal Entity exercising permissions granted by this License.
36+
37+
38+
39+
40+
"Source" form shall mean the preferred form for making modifications,
41+
including but not limited to software source code, documentation source, and
42+
configuration files.
43+
44+
45+
46+
"Object" form shall mean any form resulting
47+
from mechanical transformation or translation of a Source form, including but not
48+
limited to compiled object code, generated documentation, and conversions to
49+
other media types.
50+
51+
52+
53+
"Work" shall mean the work of authorship,
54+
whether in Source or Object form, made available under the License, as indicated
55+
by a copyright notice that is included in or attached to the work (an example is
56+
provided in the Appendix below).
57+
58+
59+
60+
"Derivative Works" shall mean any
61+
work, whether in Source or Object form, that is based on (or derived from) the
62+
Work and for which the editorial revisions, annotations, elaborations, or other
63+
modifications represent, as a whole, an original work of authorship. For the
64+
purposes of this License, Derivative Works shall not include works that remain
65+
separable from, or merely link (or bind by name) to the interfaces of, the Work
66+
and Derivative Works thereof.
67+
68+
69+
70+
"Contribution" shall mean any work
71+
of authorship, including the original version of the Work and any modifications
72+
or additions to that Work or Derivative Works thereof, that is intentionally
73+
submitted to Licensor for inclusion in the Work by the copyright owner or by an
74+
individual or Legal Entity authorized to submit on behalf of the copyright owner.
75+
For the purposes of this definition, "submitted" means any form of electronic,
76+
verbal, or written communication sent to the Licensor or its representatives,
77+
including but not limited to communication on electronic mailing lists, source
78+
code control systems, and issue tracking systems that are managed by, or on
79+
behalf of, the Licensor for the purpose of discussing and improving the Work, but
80+
excluding communication that is conspicuously marked or otherwise designated in
81+
writing by the copyright owner as "Not a Contribution."
82+
83+
84+
85+
86+
"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of
87+
whom a Contribution has been received by Licensor and subsequently incorporated
88+
within the Work.
89+
90+
2. Grant of Copyright License. Subject to the terms and
91+
conditions of this License, each Contributor hereby grants to You a perpetual,
92+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license
93+
to reproduce, prepare Derivative Works of, publicly display, publicly perform,
94+
sublicense, and distribute the Work and such Derivative Works in Source or Object
95+
form.
96+
97+
3. Grant of Patent License. Subject to the terms and conditions of this
98+
License, each Contributor hereby grants to You a perpetual, worldwide,
99+
non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this
100+
section) patent license to make, have made, use, offer to sell, sell, import, and
101+
otherwise transfer the Work, where such license applies only to those patent
102+
claims licensable by such Contributor that are necessarily infringed by their
103+
Contribution(s) alone or by combination of their Contribution(s) with the Work to
104+
which such Contribution(s) was submitted. If You institute patent litigation
105+
against any entity (including a cross-claim or counterclaim in a lawsuit)
106+
alleging that the Work or a Contribution incorporated within the Work constitutes
107+
direct or contributory patent infringement, then any patent licenses granted to
108+
You under this License for that Work shall terminate as of the date such
109+
litigation is filed.
110+
111+
4. Redistribution. You may reproduce and distribute
112+
copies of the Work or Derivative Works thereof in any medium, with or without
113+
modifications, and in Source or Object form, provided that You meet the following
114+
conditions:
115+
116+
(a) You must give any other recipients of the Work or
117+
Derivative Works a copy of this License; and
118+
119+
(b) You must cause any
120+
modified files to carry prominent notices stating that You changed the files;
121+
and
122+
123+
(c) You must retain, in the Source form of any Derivative Works that
124+
You distribute, all copyright, patent, trademark, and attribution notices from
125+
the Source form of the Work, excluding those notices that do not pertain to any
126+
part of the Derivative Works; and
127+
128+
(d) If the Work includes a "NOTICE" text
129+
file as part of its distribution, then any Derivative Works that You distribute
130+
must include a readable copy of the attribution notices contained within such
131+
NOTICE file, excluding those notices that do not pertain to any part of the
132+
Derivative Works, in at least one of the following places: within a NOTICE text
133+
file distributed as part of the Derivative Works; within the Source form or
134+
documentation, if provided along with the Derivative Works; or, within a display
135+
generated by the Derivative Works, if and wherever such third-party notices
136+
normally appear. The contents of the NOTICE file are for informational purposes
137+
only and do not modify the License. You may add Your own attribution notices
138+
within Derivative Works that You distribute, alongside or as an addendum to the
139+
NOTICE text from the Work, provided that such additional attribution notices
140+
cannot be construed as modifying the License.
141+
142+
You may add Your own
143+
copyright statement to Your modifications and may provide additional or different
144+
license terms and conditions for use, reproduction, or distribution of Your
145+
modifications, or for any such Derivative Works as a whole, provided Your use,
146+
reproduction, and distribution of the Work otherwise complies with the conditions
147+
stated in this License.
148+
149+
5. Submission of Contributions. Unless You explicitly
150+
state otherwise, any Contribution intentionally submitted for inclusion in the
151+
Work by You to the Licensor shall be under the terms and conditions of this
152+
License, without any additional terms or conditions. Notwithstanding the above,
153+
nothing herein shall supersede or modify the terms of any separate license
154+
agreement you may have executed with Licensor regarding such Contributions.
155+
156+
157+
6. Trademarks. This License does not grant permission to use the trade names,
158+
trademarks, service marks, or product names of the Licensor, except as required
159+
for reasonable and customary use in describing the origin of the Work and
160+
reproducing the content of the NOTICE file.
161+
162+
7. Disclaimer of Warranty. Unless
163+
required by applicable law or agreed to in writing, Licensor provides the Work
164+
(and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT
165+
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including,
166+
without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT,
167+
MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible
168+
for determining the appropriateness of using or redistributing the Work and
169+
assume any risks associated with Your exercise of permissions under this
170+
License.
171+
172+
8. Limitation of Liability. In no event and under no legal theory,
173+
whether in tort (including negligence), contract, or otherwise, unless required
174+
by applicable law (such as deliberate and grossly negligent acts) or agreed to in
175+
writing, shall any Contributor be liable to You for damages, including any
176+
direct, indirect, special, incidental, or consequential damages of any character
177+
arising as a result of this License or out of the use or inability to use the
178+
Work (including but not limited to damages for loss of goodwill, work stoppage,
179+
computer failure or malfunction, or any and all other commercial damages or
180+
losses), even if such Contributor has been advised of the possibility of such
181+
damages.
182+
183+
9. Accepting Warranty or Additional Liability. While redistributing
184+
the Work or Derivative Works thereof, You may choose to offer, and charge a fee
185+
for, acceptance of support, warranty, indemnity, or other liability obligations
186+
and/or rights consistent with this License. However, in accepting such
187+
obligations, You may act only on Your own behalf and on Your sole responsibility,
188+
not on behalf of any other Contributor, and only if You agree to indemnify,
189+
defend, and hold each Contributor harmless for any liability incurred by, or
190+
claims asserted against, such Contributor by reason of your accepting any such
191+
warranty or additional liability. END OF TERMS AND CONDITIONS
192+
193+
APPENDIX: How to
194+
apply the Apache License to your work.
195+
196+
To apply the Apache License to your work,
197+
attach the following boilerplate notice, with the fields enclosed by brackets
198+
"[]" replaced with your own identifying information. (Don't include the
199+
brackets!) The text should be enclosed in the appropriate comment syntax for the
200+
file format. We also recommend that a file or class name and description of
201+
purpose be included on the same "printed page" as the copyright notice for easier
202+
identification within third-party archives.
203+
204+
Copyright [yyyy] Jovan
205+
Gerodetti
206+
207+
Licensed under the Apache License, Version 2.0 (the "License");
208+
209+
you
210+
may not use this file except in compliance with the License.
211+
212+
You may obtain a
213+
copy of the License at
214+
215+
http://www.apache.org/licenses/LICENSE-2.0
216+
217+
Unless
218+
required by applicable law or agreed to in writing, software
219+
220+
distributed under
221+
the License is distributed on an "AS IS" BASIS,
222+
223+
WITHOUT WARRANTIES OR CONDITIONS
224+
OF ANY KIND, either express or implied.
225+
226+
See the License for the specific
227+
language governing permissions and
228+
229+
limitations under the License.

0 commit comments

Comments
 (0)