Initial import with skill sheet working

This commit is contained in:
2024-12-04 00:11:23 +01:00
commit 9050c80ab4
4488 changed files with 671048 additions and 0 deletions

21
node_modules/value-or-function/LICENSE generated vendored Normal file
View File

@ -0,0 +1,21 @@
The MIT License (MIT)
Copyright (c) 2015-2017, 2021 Blaine Bublitz <blaine.bublitz@gmail.com> and Eric Schoffstall <yo@contra.io>
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.

139
node_modules/value-or-function/README.md generated vendored Normal file
View File

@ -0,0 +1,139 @@
<p align="center">
<a href="https://gulpjs.com">
<img height="257" width="114" src="https://raw.githubusercontent.com/gulpjs/artwork/master/gulp-2x.png">
</a>
</p>
# value-or-function
[![NPM version][npm-image]][npm-url] [![Downloads][downloads-image]][npm-url] [![Build Status][ci-image]][ci-url] [![Coveralls Status][coveralls-image]][coveralls-url]
Normalize a value or function, applying extra args to the function
## Example
```js
var normalize = require('value-or-function');
// Values matching type are returned
var isEnabled = normalize('boolean', true);
// isEnabled === true
// Values not matching type return undefined
var isEnabled = normalize('boolean', 1);
// isEnabled === undefined
// Functions are called
var isEnabled = normalize('boolean', function () {
return false;
});
// isEnabled === false
// Extra arguments are applied to function
var count = normalize(
'number',
function (a, b) {
return a + b;
},
1,
2
);
// count === 3
// Supply the function with context
var context = { c: 3 };
var count = normalize.call(
context,
'number',
function (a, b) {
return a + b + this.c;
},
1,
2
);
// count === 6
// Values one of multiple types are returned
var isEnabled = normalize(['string', 'boolean'], true);
// isEnabled === true
// Provide a function as first argument to do custom coercion
var now = new Date();
var enabledSince = normalize(function (value) {
if (value.constructor === Date) {
return value;
}
}, now);
// enabledSince === now
// Convenience methods are available for the built-in types
var result = normalize.object({});
var result = normalize.number(1);
var result = normalize.string('');
var result = normalize.symbol(Symbol());
var result = normalize.boolean(true);
var result = normalize.function(function () {});
var result = normalize.date(new Date());
```
## API
### `normalize(coercer, value[, ...appliedArguments])`
Takes a coercer function `coercer` to transform `value` to the desired type.
Also optionally takes any extra arguments to apply to `value` if `value` is a function.
If the return value of `coercer(value)` is not `null` or `undefined`, that value is returned.
Otherwise, if `value` is a function, that function is called with any extra arguments
supplied to `normalize`, and its return value is passed through the coercer.
If `coercer` is a string, it must be one of the built-in types (see below)
and the appropriate default coercer is invoked, optionally first reducing `value`
to a primitive type with `.valueOf()` if it is an Object.
If `coercer` is an array, each element is tried until one returns something other
than `null` or `undefined`, or it results in `undefined` if all of the elements yield `null` or `undefined`.
#### `normalize.object(value[, ...appliedArguments])`
Convenience method for `normalize('object', ...)`.
#### `normalize.number(value[, ...appliedArguments])`
Convenience method for `normalize('number', ...)`.
#### `normalize.string(value[, ...appliedArguments])`
Convenience method for `normalize('string', ...)`.
#### `normalize.symbol(value[, ...appliedArguments])`
Convenience method for `normalize('symbol', ...)`.
#### `normalize.boolean(value[, ...appliedArguments])`
Convenience method for `normalize('boolean', ...)`.
#### `normalize.function(value[, ...appliedArguments])`
Convenience method for `normalize('function', ...)`.
#### `normalize.date(value[, ...appliedArguments])`
Convenience method for `normalize('date', ...)`.
## License
MIT
<!-- prettier-ignore-start -->
[downloads-image]: https://img.shields.io/npm/dm/value-or-function.svg?style=flat-square
[npm-url]: https://npmjs.org/package/value-or-function
[npm-image]: https://img.shields.io/npm/v/value-or-function.svg?style=flat-square
[ci-url]: https://github.com/gulpjs/value-or-function/actions?query=workflow:dev
[ci-image]: https://img.shields.io/github/workflow/status/gulpjs/value-or-function/dev?style=flat-square
[coveralls-url]: https://coveralls.io/r/gulpjs/value-or-function
[coveralls-image]: https://img.shields.io/coveralls/gulpjs/value-or-function/master.svg?style=flat-square
<!-- prettier-ignore-end -->

113
node_modules/value-or-function/index.js generated vendored Normal file
View File

@ -0,0 +1,113 @@
'use strict';
// Built-in types
var types = [
'object',
'number',
'string',
'symbol',
'boolean',
'date',
'function', // Weird to expose this
];
function normalize(coercer, value) {
var coercers = coercer;
if (!Array.isArray(coercers)) {
coercers = [coercer];
}
var ctx = this;
var args = slice(arguments, 2);
// Try in order until one returns a non-undefined value
var result;
coercers.some(function (coercer) {
var val = value;
if (typeof value === 'function' && coercer !== 'function') {
val = value.apply(ctx, args);
}
result = coerce(ctx, coercer, val);
return result !== undefined;
});
return result;
}
function coerce(ctx, coercer, value) {
// Handle built-in types
if (typeof coercer === 'string') {
if (coerce[coercer]) {
return coerce[coercer].call(ctx, value);
}
return typeOf(coercer, value);
}
// Handle custom coercer
if (typeof coercer === 'function') {
return coercer.call(ctx, value);
}
throw new Error('Invalid coercer. Can only be a string or function.');
}
coerce.string = function (value) {
if (
value != null &&
typeof value === 'object' &&
typeof value.toString === 'function'
) {
value = value.toString();
}
return typeOf('string', primitive(value));
};
coerce.number = function (value) {
return typeOf('number', primitive(value));
};
coerce.boolean = function (value) {
return typeOf('boolean', primitive(value));
};
coerce.date = function (value) {
value = primitive(value);
if (typeof value === 'number' && !isNaN(value) && isFinite(value)) {
return new Date(value);
}
};
function typeOf(type, value) {
if (typeof value === type) {
return value;
}
}
function primitive(value) {
if (
value != null &&
typeof value === 'object' &&
typeof value.valueOf === 'function'
) {
value = value.valueOf();
}
return value;
}
function slice(value, from) {
return Array.prototype.slice.call(value, from);
}
// Add methods for each type
types.forEach(function (type) {
// Make it an array for easier concat
var typeArg = [type];
normalize[type] = function () {
var args = slice(arguments);
return normalize.apply(this, typeArg.concat(args));
};
});
module.exports = normalize;

48
node_modules/value-or-function/package.json generated vendored Normal file
View File

@ -0,0 +1,48 @@
{
"name": "value-or-function",
"version": "4.0.0",
"description": "Normalize a value or function, applying extra args to the function",
"author": "Gulp Team <team@gulpjs.com> (http://gulpjs.com/)",
"contributors": [
"Blaine Bublitz <blaine.bublitz@gmail.com>",
"Hugo Wood <hx4.5@free.fr>"
],
"repository": "gulpjs/value-or-function",
"license": "MIT",
"engines": {
"node": ">= 10.13.0"
},
"main": "index.js",
"files": [
"index.js"
],
"scripts": {
"lint": "eslint .",
"pretest": "npm run lint",
"test": "nyc mocha --async-only"
},
"devDependencies": {
"eslint": "^7.32.0",
"eslint-config-gulp": "^5.0.1",
"eslint-plugin-node": "^11.1.0",
"expect": "^27.4.2",
"mocha": "^8.4.0",
"nyc": "^15.1.0",
"sinon": "^12.0.1"
},
"nyc": {
"reporter": [
"lcov",
"text-summary"
]
},
"prettier": {
"singleQuote": true
},
"keywords": [
"options",
"normalize",
"value",
"function"
]
}