Skip to content
This repository was archived by the owner on Oct 28, 2022. It is now read-only.

Commit 4a7ed33

Browse files
committed
👷 : ci custom badges
👷 : ci custom badges 👷 : ci custom badges 👷 : fix ci" 👷 : fix ci" 👷 : fix ci" 👷 : fix ci" 👷 : fix ci" Create greetings.yml 🔖 : Version 📄 : add code of conduct 📄 : doc ✅ : test subscription 💚 : Add test to ci 🔖 : 1.0.9 🐛 : fix package.json 🔖 : 1.0.10 | remove console log 💚 : build and test 💚 : test 💚 : fix yml
1 parent a47a218 commit 4a7ed33

File tree

8 files changed

+232
-21
lines changed

8 files changed

+232
-21
lines changed

.github/workflows/greetings.yml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
name: Greetings
2+
3+
on: [pull_request, issues]
4+
5+
jobs:
6+
greeting:
7+
runs-on: ubuntu-latest
8+
steps:
9+
- uses: actions/first-interaction@v1
10+
with:
11+
repo-token: ${{ secrets.GITHUB_TOKEN }}
12+
issue-message: 'Hi ! Thanks for this issue, i will look at it quickly !'' first issue'
13+
pr-message: 'Hi ! Thanks for your awesome contribution, i will look at it quickly !'' first pr'

.gitlab-ci.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ stages:
66
test:
77
script:
88
- npm install
9+
- npm run build
10+
- npm run test
911
- npx nyc --reporter cobertura mocha
1012
artifacts:
1113
reports:

CODE-OF-CONDUCT.md

Lines changed: 128 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,128 @@
1+
# Contributor Covenant Code of Conduct
2+
3+
## Our Pledge
4+
5+
We as members, contributors, and leaders pledge to make participation in our
6+
community a harassment-free experience for everyone, regardless of age, body
7+
size, visible or invisible disability, ethnicity, sex characteristics, gender
8+
identity and expression, level of experience, education, socio-economic status,
9+
nationality, personal appearance, race, religion, or sexual identity
10+
and orientation.
11+
12+
We pledge to act and interact in ways that contribute to an open, welcoming,
13+
diverse, inclusive, and healthy community.
14+
15+
## Our Standards
16+
17+
Examples of behavior that contributes to a positive environment for our
18+
community include:
19+
20+
* Demonstrating empathy and kindness toward other people
21+
* Being respectful of differing opinions, viewpoints, and experiences
22+
* Giving and gracefully accepting constructive feedback
23+
* Accepting responsibility and apologizing to those affected by our mistakes,
24+
and learning from the experience
25+
* Focusing on what is best not just for us as individuals, but for the
26+
overall community
27+
28+
Examples of unacceptable behavior include:
29+
30+
* The use of sexualized language or imagery, and sexual attention or
31+
advances of any kind
32+
* Trolling, insulting or derogatory comments, and personal or political attacks
33+
* Public or private harassment
34+
* Publishing others' private information, such as a physical or email
35+
address, without their explicit permission
36+
* Other conduct which could reasonably be considered inappropriate in a
37+
professional setting
38+
39+
## Enforcement Responsibilities
40+
41+
Community leaders are responsible for clarifying and enforcing our standards of
42+
acceptable behavior and will take appropriate and fair corrective action in
43+
response to any behavior that they deem inappropriate, threatening, offensive,
44+
or harmful.
45+
46+
Community leaders have the right and responsibility to remove, edit, or reject
47+
comments, commits, code, wiki edits, issues, and other contributions that are
48+
not aligned to this Code of Conduct, and will communicate reasons for moderation
49+
decisions when appropriate.
50+
51+
## Scope
52+
53+
This Code of Conduct applies within all community spaces, and also applies when
54+
an individual is officially representing the community in public spaces.
55+
Examples of representing our community include using an official e-mail address,
56+
posting via an official social media account, or acting as an appointed
57+
representative at an online or offline event.
58+
59+
## Enforcement
60+
61+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
62+
reported to the community leaders responsible for enforcement at
63+
64+
All complaints will be reviewed and investigated promptly and fairly.
65+
66+
All community leaders are obligated to respect the privacy and security of the
67+
reporter of any incident.
68+
69+
## Enforcement Guidelines
70+
71+
Community leaders will follow these Community Impact Guidelines in determining
72+
the consequences for any action they deem in violation of this Code of Conduct:
73+
74+
### 1. Correction
75+
76+
**Community Impact**: Use of inappropriate language or other behavior deemed
77+
unprofessional or unwelcome in the community.
78+
79+
**Consequence**: A private, written warning from community leaders, providing
80+
clarity around the nature of the violation and an explanation of why the
81+
behavior was inappropriate. A public apology may be requested.
82+
83+
### 2. Warning
84+
85+
**Community Impact**: A violation through a single incident or series
86+
of actions.
87+
88+
**Consequence**: A warning with consequences for continued behavior. No
89+
interaction with the people involved, including unsolicited interaction with
90+
those enforcing the Code of Conduct, for a specified period of time. This
91+
includes avoiding interactions in community spaces as well as external channels
92+
like social media. Violating these terms may lead to a temporary or
93+
permanent ban.
94+
95+
### 3. Temporary Ban
96+
97+
**Community Impact**: A serious violation of community standards, including
98+
sustained inappropriate behavior.
99+
100+
**Consequence**: A temporary ban from any sort of interaction or public
101+
communication with the community for a specified period of time. No public or
102+
private interaction with the people involved, including unsolicited interaction
103+
with those enforcing the Code of Conduct, is allowed during this period.
104+
Violating these terms may lead to a permanent ban.
105+
106+
### 4. Permanent Ban
107+
108+
**Community Impact**: Demonstrating a pattern of violation of community
109+
standards, including sustained inappropriate behavior, harassment of an
110+
individual, or aggression toward or disparagement of classes of individuals.
111+
112+
**Consequence**: A permanent ban from any sort of public interaction within
113+
the community.
114+
115+
## Attribution
116+
117+
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
118+
version 2.0, available at
119+
https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
120+
121+
Community Impact Guidelines were inspired by [Mozilla's code of conduct
122+
enforcement ladder](https://github.com/mozilla/diversity).
123+
124+
[homepage]: https://www.contributor-covenant.org
125+
126+
For answers to common questions about this code of conduct, see the FAQ at
127+
https://www.contributor-covenant.org/faq. Translations are available at
128+
https://www.contributor-covenant.org/translations.

README.md

Lines changed: 24 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@
66

77
### [RxJS v6](https://github.com/ReactiveX/rxjs) integration for [Vue next]()
88

9-
![](https://img.shields.io/github/license/NOPR9D/rx-vue-next)
10-
![](https://img.shields.io/gitlab/pipeline/nopr3d/vue-next-rx)
11-
129
</br>
1310

11+
![](https://img.shields.io/github/license/NOPR9D/rx-vue-next)
12+
![](https://gitlab.com/nopr3d/vue-next-rx/badges/main/pipeline.svg)
13+
1414
<br>
1515

1616
> **NOTE**
@@ -19,7 +19,7 @@
1919
2020
---
2121

22-
### Installation
22+
# Installation
2323

2424
#### NPM + ES2015 or more
2525

@@ -54,11 +54,11 @@ Example:
5454

5555
---
5656

57-
## Usage
57+
# Usage
5858

5959
<br />
6060

61-
### Subscriptions
61+
# Subscriptions
6262

6363
```js
6464
// Expose `Subject` with domStream, use them in subscriptions functions
@@ -85,7 +85,7 @@ export default defineComponent({
8585
<!-- On click will show 0, 1 ,2 ,3... -->
8686
```
8787
88-
#### Or
88+
### Or
8989
9090
</br>
9191
@@ -101,7 +101,7 @@ export default defineComponent({
101101
});
102102
```
103103
104-
### Tips
104+
## Tips
105105
106106
You can get the data by simply plucking it from the source stream:
107107
@@ -121,7 +121,7 @@ or
121121
122122
---
123123
124-
### Ref
124+
# Ref
125125
126126
```js
127127
import { ref } from "@nopr3d/rx-vue-next";
@@ -156,7 +156,7 @@ export default defineComponent({
156156
157157
<br />
158158
159-
### Watch
159+
# Watch
160160
161161
```js
162162
import { ref, watch } from "@nopr3d/rx-vue-next";
@@ -190,11 +190,11 @@ export default defineComponent({
190190
191191
<br />
192192
193-
## Other API Methods
193+
# Other API Methods
194194
195195
</br>
196196
197-
### `$watchAsObservable(expOrFn, [options])`
197+
## `$watchAsObservable(expOrFn, [options])`
198198
199199
This is a prototype method added to instances. You can use it to create an observable from a Data. The emitted value is in the format of `{ newValue, oldValue }`:
200200
@@ -227,7 +227,7 @@ export default defineComponent({
227227
228228
---
229229
230-
#### `$subscribeTo(observable, next, error, complete)`
230+
## `$subscribeTo(observable, next, error, complete)`
231231
232232
This is a prototype method added to instances. You can use it to subscribe to an observable, but let VueRx manage the dispose/unsubscribe.
233233
@@ -243,7 +243,7 @@ const vm = new Vue({
243243
});
244244
```
245245
246-
#### `$fromDOMEvent(selector, event)`
246+
## `$fromDOMEvent(selector, event)`
247247
248248
This is a prototype method added to instances. Use it to create an observable from DOM events within the instances' element. This is similar to `Rx.Observable.fromEvent`, but usable inside the `subscriptions` function even before the DOM is actually rendered.
249249
@@ -268,10 +268,18 @@ const vm = new Vue({
268268
<div>{{inputValue}}</div>
269269
```
270270
271-
### Example
271+
---
272+
273+
## Example
272274
273275
See `/examples` for some simple examples.
274276
275-
### License
277+
</br>
278+
279+
---
280+
281+
## License
276282
277283
[MIT](http://opensource.org/licenses/MIT)
284+
285+
---

get-updated-badge-info.sh

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
#!/bin/bash
2+
3+
echo "collecting stas for badges"
4+
5+
commits=`git rev-list --all --count`
6+
latest_release_tag=$(git describe --tags `git rev-list --tags --max-count=1`)
7+
echo "{\"commits\":\"$commits\", \"release_tag"\:\"$latest_release_tag\"}" > badges.json

package-lock.json

Lines changed: 7 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@nopr3d/rx-vue-next",
3-
"version": "1.0.7",
3+
"version": "1.0.10",
44
"description": "RxJs for Vue 3",
55
"author": "Boucham Amine",
66
"license": "MIT",
@@ -20,9 +20,7 @@
2020
"build": "rollup -c rollup.config.js",
2121
"publish": "npm publish --access public",
2222
"lint": "eslint src test example",
23-
"test": "npm run test:unit && npm run test:types",
24-
"test:unit": "jest",
25-
"test:types": "tsc -p types/test",
23+
"test": "jest",
2624
"dev:test": "jest --watch",
2725
"coverage": "npx nyc --reporter cobertura mocha"
2826
},
@@ -32,6 +30,7 @@
3230
"@typescript-eslint/eslint-plugin": "^4.9.1",
3331
"@typescript-eslint/parser": "^4.9.1",
3432
"@vue/eslint-config-typescript": "^7.0.0",
33+
"@vue/test-utils": "^2.0.0-beta.12",
3534
"buble": "^0.20.0",
3635
"eslint": "^7.2.0",
3736
"eslint-plugin-vue": "^7.2.0",

test/test.js

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
/* eslint-env jest */
2+
3+
"use strict";
4+
5+
const { mount, config } = require("@vue/test-utils");
6+
const VueNextRx = require("../dist/rx-vue-next.js");
7+
8+
// library
9+
const { Observable } = require("rxjs");
10+
const { startWith } = require("rxjs/operators");
11+
12+
config.global.plugins.push(VueNextRx);
13+
14+
const defaultTemplate = "<div id='test'>Hello world</div>";
15+
16+
function mock() {
17+
let observer;
18+
const observable = new Observable((_observer) => {
19+
observer = _observer;
20+
});
21+
return {
22+
ob: observable,
23+
next: (val) => observer.next(val),
24+
};
25+
}
26+
27+
test("Subscriptions Basic", () => {
28+
const { ob, next } = mock();
29+
const component = {
30+
template: defaultTemplate,
31+
subscriptions() {
32+
return { hello: ob.pipe(startWith(0)) };
33+
},
34+
};
35+
const wrapper = mount(component);
36+
37+
const results = [];
38+
wrapper.componentVM.$observables.hello.subscribe((val) => {
39+
results.push(val);
40+
});
41+
42+
next(1);
43+
next(2);
44+
next(3);
45+
expect(results).toEqual([0, 1, 2, 3]);
46+
// Assert the rendered text of the component
47+
expect(wrapper.text()).toContain("Hello world");
48+
});

0 commit comments

Comments
 (0)