Annual sales not exceeding 10.000 EUR.
| Customer from... | same country | other EU country | outside of the EU |
|---|---|---|---|
| End customer | homeland rate | homeland rate | 0% |
| Business customer | homeland rate | homeland rate | 0% |
| ... with TAX ID | homeland rate | reverse-charge (0%) | 0% |
| const querySelectorRegex = /(?<=\[)(?!")[^\]]+|(?<=\[")[^"]+|[^."[\]]+/g | |
| export function objectQuerySelector(obj: any, path: string){ | |
| const match = path.match(objectQueryRegex) | |
| return match ? match.reduce((res, prop) => res[prop], obj) : undefined | |
| } |
| function array2dUnique(arr: any[], index: number = 0){ | |
| return arr.filter((a, i1, $) => !$.find((b, i2) => i1 > i2 && a[index] === b[index])) | |
| } | |
| console.log( | |
| array2dUnique([ | |
| [1], | |
| [2], | |
| [1] | |
| ]) |
| /** | |
| * Similar to Object.getOwnPropertyNames(obj) but including the properties of the entire prototype chain | |
| * @param obj | |
| * @param maxChainLength | |
| */ | |
| export function getAllPropertyNames( | |
| obj: { new(): any }, | |
| maxChainLength: number = 10 | |
| ): string[] { | |
| let set: Set<string> = new Set(), i: number = 0; |
Let's Encrypt generates SSL certificates for free.
Follow these steps to create and use an SSL certificate with ArangoDB.
sudo apt-get update
sudo apt-get install software-properties-common| location / { | |
| index index.html; | |
| try_files $uri $uri/ /index.html; | |
| } |
| export const isoLocale = { | |
| 'af-NA': 'Afrikaans (Namibia)', | |
| 'af-ZA': 'Afrikaans (South Africa)', | |
| 'af': 'Afrikaans', | |
| 'ak-GH': 'Akan (Ghana)', | |
| 'ak': 'Akan', | |
| 'sq-AL': 'Albanian (Albania)', | |
| 'sq': 'Albanian', | |
| 'am-ET': 'Amharic (Ethiopia)', | |
| 'am': 'Amharic', |
| import { Database, DocumentCollection } from 'arangojs' | |
| const db = new Database(process.env.ARANGODB_URL); | |
| db.useDatabase('name'); | |
| /** | |
| * Upserts (merges) the content of the documents with the given documents and | |
| * optionally returns an array containing the documents’ metadata. | |
| * | |
| * @param {string|ArangoDB.Collection} collection - collection to use | |
| * @param {Document[]} documents - list of documents to upsert |
| /** | |
| * 🏁 Returns an unicode-emoji-flag-icon for a two digit country code or a locale (eg. en-US) | |
| * - Supports 239 countries | |
| * | |
| * @param {String} countryCode - the country code to display a flag for (eg. US) | |
| * @param {String} [fallback=🏳] - fallback icon when no matching flag has been found | |
| * @param {Object} [countryFlagData] - an object of country code : flag | |
| */ | |
| export function emojiFlag(countryCode: string, fallback: string = '🏳', countryFlagData: {[key: string]: string} = { | |
| AD: '🇦🇩', AE: '🇦🇪', AF: '🇦🇫', AG: '🇦🇬', AI: '🇦🇮', AL: '🇦🇱', AM: '🇦🇲', AO: '🇦🇴', AQ: '🇦🇶', AR: '🇦🇷', |
| /** | |
| * Easing functions | |
| * | |
| * https://gist.github.com/gre/1650294 | |
| * http://easings.net | |
| */ | |
| // no easing, no acceleration | |
| export function easeLinear(t){ return t } | |
| // accelerating from zero velocity | |
| export function easeInQuad(t){ return t*t } |