Last commit july 5th

This commit is contained in:
2024-07-05 13:46:23 +02:00
parent dad0d86e8c
commit b0e4dfbb76
24982 changed files with 2621219 additions and 413 deletions

4
spa/node_modules/endent/.travis.yml generated vendored Normal file
View File

@@ -0,0 +1,4 @@
language: node_js
node_js:
- "node"
- "12"

133
spa/node_modules/endent/README.md generated vendored Normal file
View File

@@ -0,0 +1,133 @@
# Endent [![stability][stability-image]][stability-index]
[![npm][npm-image]][npm-url]
[![travis][travis-image]][travis-url]
[![dm][dm-image]][npm-url]
[![js-standard-style][code-style]][standard]
[stability-image]: https://img.shields.io/badge/stability-stable-green.svg
[stability-index]: https://nodejs.org/api/documentation.html#documentation_stability_index
[npm-image]: https://img.shields.io/npm/v/endent.svg?style=flat-square
[npm-url]: https://www.npmjs.com/package/endent
[travis-image]: https://img.shields.io/travis/indentjs/endent.svg?style=flat-square
[travis-url]: https://travis-ci.org/indentjs/endent
[dm-image]: http://img.shields.io/npm/dm/endent.svg?style=flat-square
[code-style]: https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat-square
[standard]: https://github.com/feross/standard
An ES6 string tag that makes indentation right, adds some key features to [dedent](https://github.com/dmnd/dedent).
## Feature
### Pretty object
```ts
import dedent from "dedent";
import endent from "endent";
var someobj = {
contact: {
jack: 123456,
tom: 654321,
},
color: "blue",
};
var somejson = '["bear", "fish", "dog", "cat"]';
var awfulTmpl = dedent`
function store (state, emitter) {
state["someobj"] = ${JSON.stringify(someobj, null, 2)}
state["somejson"] = ${JSON.stringify(JSON.parse(somejson), null, 2)}
}
`;
// use endent.pretty(value) when value is object or array.
var prettyTmpl = endent`
function store (state, emitter) {
state["someobj"] = ${endent.pretty(someobj)}
state["somejson"] = ${somejson}
}
`;
console.log(awfulTmpl + "\n\n" + prettyTmpl);
```
```ts
// awfulTmpl
function store(state, emitter) {
state["someobj"] = {
contact: {
jack: 123456,
tom: 654321,
},
color: "blue",
}
state["somejson"] = [
"bear",
"fish",
"dog",
"cat"
]
}
// prettyTmpl
function store(state, emitter) {
state["someobj"] = {
contact: {
jack: 123456,
tom: 654321,
},
color: "blue",
}
state["somejson"] = [
"bear",
"fish",
"dog",
"cat"
]
}
```
### Endows suitable indentation for multiline interpolation
```ts
var dependencies = ["jquery", "underscore", "bootstrap"];
var dependencyTmpl = ``;
dependencies.forEach((d, i) => {
dependencyTmpl += `var ${d} = require("${d}")\n`;
});
var awfulTmpl = dedent`
;(function () {
${dependencyTmpl}
})()
`;
var prettyTmpl = endent`
;(function () {
${dependencyTmpl}
})()
`;
console.log(awfulTmpl + "\n\n" + prettyTmpl);
```
```js
// awfulTmpl
(function () {
var jquery = require("jquery");
var underscore = require("underscore");
var bootstrap = require("bootstrap");
})();
// prettyTmpl
(function () {
var jquery = require("jquery");
var underscore = require("underscore");
var bootstrap = require("bootstrap");
})();
```
## License
MIT

16
spa/node_modules/endent/index.d.ts generated vendored Normal file
View File

@@ -0,0 +1,16 @@
declare module "dedent" {
export default function (
templ: TemplateStringsArray | string,
...values: any[]
): string;
}
declare module "objectorarray" {
export default function (
val?: object | number | string | undefined | null
): boolean;
}
declare module "fast-json-parse" {
export default function (data: string): { value: object; err?: string };
}

7
spa/node_modules/endent/jest.config.json generated vendored Normal file
View File

@@ -0,0 +1,7 @@
{
"transform": {
"^.+\\.(t|j)sx?$": "ts-jest"
},
"testRegex": "test.ts$",
"moduleFileExtensions": ["ts", "tsx", "js", "jsx", "json", "node"]
}

5
spa/node_modules/endent/lib/index.d.ts generated vendored Normal file
View File

@@ -0,0 +1,5 @@
declare function endent(strings: TemplateStringsArray, ...values: any[]): string;
declare namespace endent {
var pretty: (data?: string | number | object | null | undefined) => string | number | object | null | undefined;
}
export default endent;

67
spa/node_modules/endent/lib/index.js generated vendored Normal file
View File

@@ -0,0 +1,67 @@
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const dedent_1 = __importDefault(require("dedent"));
const objectorarray_1 = __importDefault(require("objectorarray"));
const fast_json_parse_1 = __importDefault(require("fast-json-parse"));
const ENDENT_ID = "twhZNwxI1aFG3r4";
function endent(strings, ...values) {
let result = "";
for (let i = 0; i < strings.length; i++) {
result += strings[i];
if (i < values.length) {
let value = values[i];
let isJson = false;
if (fast_json_parse_1.default(value).value) {
value = fast_json_parse_1.default(value).value;
isJson = true;
}
if ((value && value[ENDENT_ID]) || isJson) {
let rawlines = result.split("\n");
let l = rawlines[rawlines.length - 1].search(/\S/);
let endentation = l > 0 ? " ".repeat(l) : "";
let valueJson = isJson
? JSON.stringify(value, null, 2)
: value[ENDENT_ID];
let valueLines = valueJson.split("\n");
valueLines.forEach((l, index) => {
if (index > 0) {
result += "\n" + endentation + l;
}
else {
result += l;
}
});
}
else if (typeof value === "string" && value.includes("\n")) {
let endentations = result.match(/(?:^|\n)( *)$/);
if (typeof value === "string") {
let endentation = endentations ? endentations[1] : "";
result += value
.split("\n")
.map((str, i) => {
str = ENDENT_ID + str;
return i === 0 ? str : `${endentation}${str}`;
})
.join("\n");
}
else {
result += value;
}
}
else {
result += value;
}
}
}
result = dedent_1.default(result);
return result.split(ENDENT_ID).join("");
}
endent.pretty = (data) => {
return objectorarray_1.default(data)
? { [ENDENT_ID]: JSON.stringify(data, null, 2) }
: data;
};
exports.default = endent;

42
spa/node_modules/endent/package.json generated vendored Normal file
View File

@@ -0,0 +1,42 @@
{
"name": "endent",
"version": "2.1.0",
"description": "➡️ An ES6 string tag that makes indentation right",
"main": "lib/index.js",
"types": "lib/index.d.ts",
"prepublishOnly": "npm test",
"scripts": {
"test": "jest",
"prepare": "npm run build",
"build": "tsc"
},
"repository": {
"type": "git",
"url": "git://github.com/ZhouHansen/endent.git"
},
"author": {
"name": "zhouhancheng",
"email": "z308114274@gmail.com"
},
"keywords": [
"dedent",
"tag",
"multi-line string"
],
"license": "MIT",
"bugs": {
"url": "https://github.com/ZhouHansen/endent/issues"
},
"homepage": "https://github.com/ZhouHansen/endent#readme",
"dependencies": {
"dedent": "^0.7.0",
"fast-json-parse": "^1.0.3",
"objectorarray": "^1.0.5"
},
"devDependencies": {
"@types/jest": "^25.2.1",
"jest": "^25.3.0",
"ts-jest": "^25.3.1",
"typescript": "^3.8.3"
}
}

68
spa/node_modules/endent/src/index.ts generated vendored Normal file
View File

@@ -0,0 +1,68 @@
import dedent from "dedent";
import objectorarray from "objectorarray";
import parse from "fast-json-parse";
const ENDENT_ID = "twhZNwxI1aFG3r4";
function endent(strings: TemplateStringsArray, ...values: any[]) {
let result = "";
for (let i = 0; i < strings.length; i++) {
result += strings[i];
if (i < values.length) {
let value = values[i];
let isJson = false;
if (parse(value).value) {
value = parse(value).value;
isJson = true;
}
if ((value && value[ENDENT_ID]) || isJson) {
let rawlines = result.split("\n");
let l = rawlines[rawlines.length - 1].search(/\S/);
let endentation = l > 0 ? " ".repeat(l) : "";
let valueJson = isJson
? JSON.stringify(value, null, 2)
: value[ENDENT_ID];
let valueLines = valueJson.split("\n");
valueLines.forEach((l: string, index: number) => {
if (index > 0) {
result += "\n" + endentation + l;
} else {
result += l;
}
});
} else if (typeof value === "string" && value.includes("\n")) {
let endentations = result.match(/(?:^|\n)( *)$/);
if (typeof value === "string") {
let endentation = endentations ? endentations[1] : "";
result += value
.split("\n")
.map((str, i) => {
str = ENDENT_ID + str;
return i === 0 ? str : `${endentation}${str}`;
})
.join("\n");
} else {
result += value;
}
} else {
result += value;
}
}
}
result = dedent(result);
return result.split(ENDENT_ID).join("");
}
endent.pretty = (data?: object | string | number | undefined | null) => {
return objectorarray(data)
? { [ENDENT_ID]: JSON.stringify(data, null, 2) }
: data;
};
export default endent;

136
spa/node_modules/endent/src/test.ts generated vendored Normal file
View File

@@ -0,0 +1,136 @@
import endent from "./";
test("object", () => {
var json = JSON.stringify(JSON.parse('[ "abc" ]'), null, 2);
var someobj = {
contact: {
jack: "123456",
tom: "654321",
},
name: "template",
color: "blue",
animals: ["bear", "fish", "dog", "cat"],
};
var colors = ["red", "pink", "white"];
var objectName = "someobj";
var dependencies = ["jquery", "underscore", "bootstrap"];
var dependencyTmpl = ``;
dependencies.forEach((d, i) => {
dependencyTmpl += `var ${d} = require("${d}")\n`;
});
var jsFile = endent`
${dependencyTmpl}
module.exports = store
function store (state, emitter) {
emitter.on("DOMContentLoaded", function () {
state["json"] = ${json}
state["${objectName}"] = ${endent.pretty(someobj)}
state["colors"] = ${endent.pretty(colors)}
state["name"] = "${endent.pretty("jack")}"
state["name2"] = "${"tom"}"
state["number"] = ${endent.pretty(123)}
state["number2"] = ${123}
state["Iamundefined"] = ${endent.pretty()}
state["Iamnull"] = ${endent.pretty(null)}
state["Iamregexp"] = ${endent.pretty(/abc/)}
})
}
`;
expect(jsFile).toEqual(
`var jquery = require("jquery")
var underscore = require("underscore")
var bootstrap = require("bootstrap")
module.exports = store
function store (state, emitter) {
emitter.on("DOMContentLoaded", function () {
state["json"] = [
"abc"
]
state["someobj"] = {
"contact": {
"jack": "123456",
"tom": "654321"
},
"name": "template",
"color": "blue",
"animals": [
"bear",
"fish",
"dog",
"cat"
]
}
state["colors"] = [
"red",
"pink",
"white"
]
state["name"] = "jack"
state["name2"] = "tom"
state["number"] = 123
state["number2"] = 123
state["Iamundefined"] = undefined
state["Iamnull"] = null
state["Iamregexp"] = /abc/
})
}`
);
});
test("string", () => {
const a = `
hello
world`;
const b = endent`
foo.
${a}
bar.`;
expect(b).toEqual(
`foo.
hello
world
bar.`
);
});
test("issue#1", () => {
const a = '"test"';
const r = endent`
{
${a}: null
}
`;
expect(r).toEqual(`{
"test": null
}`);
});
test("issue#2", () => {
const r = endent`
foo.
x=${"hello\n world"}
bar.
`;
expect(r).toEqual(
`foo.
x=hello
world
bar.`
);
});
test("tab", () => {
expect(endent`foo\tbar`).toEqual("foo\tbar");
});

13
spa/node_modules/endent/tsconfig.json generated vendored Normal file
View File

@@ -0,0 +1,13 @@
{
"compilerOptions": {
"target": "esnext",
"module": "commonjs",
"moduleResolution": "node",
"esModuleInterop": true,
"declaration": true,
"outDir": "./lib",
"strict": true
},
"include": ["src/**/*", "index.d.ts"],
"exclude": ["node_modules", "lib", "src/test.ts"]
}