Skip to content

Instantly share code, notes, and snippets.

View Krivega's full-sized avatar
🏠
Working from home

Krivega Krivega

🏠
Working from home
View GitHub Profile
Задача №1
Ниже приведен пример создания dom-элемента div со вложенными ссылками:
const googleLink = document.createElement('a');
firstLink.innerText = 'google';
firstLink.href = 'http://www.google.com';
const facebookLink = document.createElement('a');
@Krivega
Krivega / demo.js
Created February 19, 2020 13:24
demo call with JsSIP
import { adapterFactory } from 'webrtc-adapter/src/js/adapter_factory';
import JsSIP from '@krivega/jssip';
adapterFactory({ window });
const onUnloadPage = handler => {
window.addEventListener('unload', handler);
};
const fetchSipIP = async serverUrl => {
const response = await fetch(serverUrl);
@Krivega
Krivega / pattern-abstract-fabric-after.js
Created October 4, 2019 16:43
pattern-abstract-fabric-after
class Car {
start(typeEngine) {
const engine = this.createEngine(typeEngine);
engine.start();
}
createEngine(typeEngine) {
throw new Error('You have to implement the method createEngine!');
}
@Krivega
Krivega / pattern-fabric-method-after.js
Created October 4, 2019 16:25
pattern-fabric-method-after
class Car {
start(typeEngine) {
const engine = this.createEngine(typeEngine);
engine.start();
}
createEngine(typeEngine) {
throw new Error('You have to implement the method createEngine!');
}
@Krivega
Krivega / pattern-fabric-method-before.js
Created October 4, 2019 16:20
pattern-fabric-method-before
class Car {
start(typeEngine) {
let engine;
if (typeEngine === 'Jet') {
engine = new Jet();
} else if (typeEngine === 'Gas') {
engine = new Gas();
} else {
engine = new Brayton();
@Krivega
Krivega / pattern-decorator-functions-after.js
Last active August 26, 2019 11:58
pattern-decorator-functions-after
const resolveEventHandler = parser => callback => event => {
const value = parser(event);
if (value !== undefined) {
callback(value);
}
};
const isValid = value => !!value;
const validateEventHandler = resolveEventHandler(value => {
@Krivega
Krivega / pattern-decorator-functions-after.js
Created August 26, 2019 11:50
pattern-decorator-functions-after
const resolveEventHandler = parser => (callback = noop) => event => {
if (parser && callback !== noop) {
const value = parser(event);
if (value !== undefined) {
callback(value);
}
} else {
callback(event);
}
@Krivega
Krivega / pattern-decorator-class-after.js
Created August 26, 2019 11:35
pattern-decorator-class-after
function withObserve(ClassRef) {
return class extends ClassRef {
#handlers = [];
observe(handler) {
this.#handlers.push(handler);
}
unobserve(handler) {
this.#handlers = this.#handlers.filter(item => item !== handler);
@Krivega
Krivega / pattern-decorator-class-before.js
Last active August 26, 2019 11:32
pattern-decorator-class-before
class ConnectInfo {
#handlers = [];
isConnected = false;
observe(handler) {
this.#handlers.push(handler);
}
unobserve(handler) {
@Krivega
Krivega / pattern-observer-after.js
Created June 11, 2019 08:59
pattern-observer-after
class CallAction {
activate() {
console.log('CallAction is active!');
}
deactivate() {
console.log('CallAction is inactive!');
}
}