@cocreate/utils 1.42.1 → 1.42.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/ObjectId.js +54 -0
- package/dist/cjs/attributes.js +64 -0
- package/dist/cjs/checkValue.js +26 -0
- package/dist/cjs/clickedElement.js +48 -0
- package/dist/cjs/core.js +33 -0
- package/dist/cjs/createUpdate.js +188 -0
- package/dist/cjs/cssPath.js +60 -0
- package/dist/cjs/dataQuery.js +280 -0
- package/dist/cjs/dom.js +29 -0
- package/dist/cjs/domParser.js +44 -0
- package/dist/cjs/dotNotationToObject.js +103 -0
- package/dist/cjs/escapeHtml.js +25 -0
- package/dist/cjs/getRelativePath.js +39 -0
- package/dist/cjs/getValueFromObject.js +41 -0
- package/dist/cjs/index.js +112 -0
- package/dist/cjs/init-browser.js +4 -0
- package/dist/cjs/isValidDate.js +32 -0
- package/dist/cjs/objectToDotNotation.js +53 -0
- package/dist/cjs/objectToSearchParams.js +42 -0
- package/dist/cjs/operators copy.js +562 -0
- package/dist/cjs/operators.js +480 -0
- package/dist/cjs/parseTextToHtml.js +27 -0
- package/dist/cjs/queryElements.js +155 -0
- package/dist/cjs/safeParse.js +169 -0
- package/dist/cjs/uid.js +34 -0
- package/dist/esm/ObjectId.js +35 -0
- package/dist/esm/attributes.js +45 -0
- package/dist/esm/checkValue.js +7 -0
- package/dist/esm/clickedElement.js +29 -0
- package/dist/esm/core.js +14 -0
- package/dist/esm/createUpdate.js +185 -0
- package/dist/esm/cssPath.js +41 -0
- package/dist/esm/dataQuery.js +261 -0
- package/dist/esm/dom.js +10 -0
- package/dist/esm/domParser.js +25 -0
- package/dist/esm/dotNotationToObject.js +84 -0
- package/dist/esm/escapeHtml.js +6 -0
- package/dist/esm/getRelativePath.js +20 -0
- package/dist/esm/getValueFromObject.js +22 -0
- package/dist/esm/index.js +93 -0
- package/dist/esm/init-browser.js +4 -0
- package/dist/esm/isValidDate.js +13 -0
- package/dist/esm/objectToDotNotation.js +34 -0
- package/dist/esm/objectToSearchParams.js +23 -0
- package/dist/esm/operators copy.js +543 -0
- package/dist/esm/operators.js +461 -0
- package/dist/esm/package.json +3 -0
- package/dist/esm/parseTextToHtml.js +8 -0
- package/dist/esm/queryElements.js +136 -0
- package/dist/esm/safeParse.js +150 -0
- package/dist/esm/uid.js +15 -0
- package/package.json +11 -109
- package/.github/FUNDING.yml +0 -3
- package/.github/workflows/automated.yml +0 -44
- package/.github/workflows/manual.yml +0 -44
- package/CHANGELOG.md +0 -2082
- package/CoCreate.config.js +0 -23
- package/demo/index.html +0 -23
- package/docs/index.html +0 -331
- package/index.cjs +0 -3
- package/prettier.config.js +0 -16
- package/release.config.js +0 -22
- package/webpack.config.js +0 -65
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
const constants = { PI: Math.PI, E: Math.E };
|
|
2
|
+
const functions = {
|
|
3
|
+
abs: Math.abs,
|
|
4
|
+
ceil: Math.ceil,
|
|
5
|
+
floor: Math.floor,
|
|
6
|
+
round: Math.round,
|
|
7
|
+
max: Math.max,
|
|
8
|
+
min: Math.min,
|
|
9
|
+
pow: Math.pow,
|
|
10
|
+
sqrt: Math.sqrt,
|
|
11
|
+
log: Math.log,
|
|
12
|
+
sin: Math.sin,
|
|
13
|
+
cos: Math.cos,
|
|
14
|
+
tan: Math.tan
|
|
15
|
+
};
|
|
16
|
+
function safeParse(expression, context = {}) {
|
|
17
|
+
if (typeof expression !== "string") {
|
|
18
|
+
expression = String(expression);
|
|
19
|
+
}
|
|
20
|
+
let currentExpr = expression.trim();
|
|
21
|
+
if (!currentExpr) return null;
|
|
22
|
+
const tokenizerRegex = /('[^']*'|"[^"]*"|\d+(?:\.\d+)?|>=|<=|===|!==|==|!=|&&|\|\||[a-zA-Z_][a-zA-Z0-9_\.]*|[\+\-\*\/\%\(\)\?\:\>\<\!\,\=])/g;
|
|
23
|
+
const tokens = currentExpr.match(tokenizerRegex) || [];
|
|
24
|
+
let pos = 0;
|
|
25
|
+
function peek() {
|
|
26
|
+
return tokens[pos];
|
|
27
|
+
}
|
|
28
|
+
function consume() {
|
|
29
|
+
return tokens[pos++];
|
|
30
|
+
}
|
|
31
|
+
function parse() {
|
|
32
|
+
return parseTernary();
|
|
33
|
+
}
|
|
34
|
+
function parseTernary() {
|
|
35
|
+
let left = parseLogical();
|
|
36
|
+
if (peek() === "?") {
|
|
37
|
+
consume();
|
|
38
|
+
let trueExpr = parseTernary();
|
|
39
|
+
if (peek() === ":") {
|
|
40
|
+
consume();
|
|
41
|
+
let falseExpr = parseTernary();
|
|
42
|
+
return left ? trueExpr : falseExpr;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return left;
|
|
46
|
+
}
|
|
47
|
+
function parseLogical() {
|
|
48
|
+
let left = parseComparison();
|
|
49
|
+
while (peek() === "&&" || peek() === "||") {
|
|
50
|
+
let op = consume();
|
|
51
|
+
let right = parseComparison();
|
|
52
|
+
if (op === "&&") left = left && right;
|
|
53
|
+
if (op === "||") left = left || right;
|
|
54
|
+
}
|
|
55
|
+
return left;
|
|
56
|
+
}
|
|
57
|
+
function parseComparison() {
|
|
58
|
+
let left = parseAdditive();
|
|
59
|
+
while ([">", "<", ">=", "<=", "===", "!==", "==", "!="].includes(peek())) {
|
|
60
|
+
let op = consume();
|
|
61
|
+
let right = parseAdditive();
|
|
62
|
+
if (op === ">") left = left > right;
|
|
63
|
+
if (op === "<") left = left < right;
|
|
64
|
+
if (op === ">=") left = left >= right;
|
|
65
|
+
if (op === "<=") left = left <= right;
|
|
66
|
+
if (op === "===") left = left === right;
|
|
67
|
+
if (op === "!==") left = left !== right;
|
|
68
|
+
if (op === "==") left = left == right;
|
|
69
|
+
if (op === "!=") left = left != right;
|
|
70
|
+
}
|
|
71
|
+
return left;
|
|
72
|
+
}
|
|
73
|
+
function parseAdditive() {
|
|
74
|
+
let left = parseMultiplicative();
|
|
75
|
+
while (["+", "-"].includes(peek())) {
|
|
76
|
+
let op = consume();
|
|
77
|
+
let right = parseMultiplicative();
|
|
78
|
+
if (op === "+") left = left + right;
|
|
79
|
+
if (op === "-") left = left - right;
|
|
80
|
+
}
|
|
81
|
+
return left;
|
|
82
|
+
}
|
|
83
|
+
function parseMultiplicative() {
|
|
84
|
+
let left = parsePrimary();
|
|
85
|
+
while (["*", "/", "%"].includes(peek())) {
|
|
86
|
+
let op = consume();
|
|
87
|
+
let right = parsePrimary();
|
|
88
|
+
if (op === "*") left = left * right;
|
|
89
|
+
if (op === "/") left = left / right;
|
|
90
|
+
if (op === "%") left = left % right;
|
|
91
|
+
}
|
|
92
|
+
return left;
|
|
93
|
+
}
|
|
94
|
+
function parsePrimary() {
|
|
95
|
+
let token = consume();
|
|
96
|
+
if (!token) return void 0;
|
|
97
|
+
if (/^\d/.test(token)) return parseFloat(token);
|
|
98
|
+
if (token.startsWith("'") || token.startsWith('"')) {
|
|
99
|
+
return token.slice(1, -1);
|
|
100
|
+
}
|
|
101
|
+
if (token === "true") return true;
|
|
102
|
+
if (token === "false") return false;
|
|
103
|
+
if (token === "(") {
|
|
104
|
+
let expr = parse();
|
|
105
|
+
if (peek() === ")") consume();
|
|
106
|
+
return expr;
|
|
107
|
+
}
|
|
108
|
+
if (token === "-") return -parsePrimary();
|
|
109
|
+
if (token === "!") return !parsePrimary();
|
|
110
|
+
if (constants.hasOwnProperty(token)) {
|
|
111
|
+
return constants[token];
|
|
112
|
+
}
|
|
113
|
+
if (peek() === "(" && functions.hasOwnProperty(token)) {
|
|
114
|
+
consume();
|
|
115
|
+
let args = [];
|
|
116
|
+
if (peek() !== ")") {
|
|
117
|
+
args.push(parse());
|
|
118
|
+
while (peek() === ",") {
|
|
119
|
+
consume();
|
|
120
|
+
args.push(parse());
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
if (peek() === ")") consume();
|
|
124
|
+
return functions[token](...args);
|
|
125
|
+
}
|
|
126
|
+
let path = token.split(".");
|
|
127
|
+
let val = context;
|
|
128
|
+
for (let part of path) {
|
|
129
|
+
if (val !== null && typeof val === "object" && part in val) {
|
|
130
|
+
val = val[part];
|
|
131
|
+
} else {
|
|
132
|
+
return void 0;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
return val;
|
|
136
|
+
}
|
|
137
|
+
try {
|
|
138
|
+
const result = parse();
|
|
139
|
+
return result !== void 0 ? result : null;
|
|
140
|
+
} catch (error) {
|
|
141
|
+
console.warn(
|
|
142
|
+
`Unexpected parsing error: ${error.message} (Expression context: "${expression}")`,
|
|
143
|
+
error
|
|
144
|
+
);
|
|
145
|
+
return null;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
export {
|
|
149
|
+
safeParse
|
|
150
|
+
};
|
package/dist/esm/uid.js
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
function uid(length = 36) {
|
|
2
|
+
let pattern = "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx";
|
|
3
|
+
if (length > 36) {
|
|
4
|
+
length = 36;
|
|
5
|
+
}
|
|
6
|
+
let uuid = pattern.replace(/[xy]/g, function(c) {
|
|
7
|
+
var r = Math.random() * 16 | 0;
|
|
8
|
+
var v = c === "x" ? r : r & 3 | 8;
|
|
9
|
+
return v.toString(16);
|
|
10
|
+
}).substring(0, length);
|
|
11
|
+
return uuid;
|
|
12
|
+
}
|
|
13
|
+
export {
|
|
14
|
+
uid
|
|
15
|
+
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cocreate/utils",
|
|
3
|
-
"version": "1.42.
|
|
3
|
+
"version": "1.42.2",
|
|
4
4
|
"description": "A simple utils component in vanilla javascript. Easily configured using HTML5 attributes and/or JavaScript API.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"utils",
|
|
@@ -23,6 +23,7 @@
|
|
|
23
23
|
"build:modules": "npm run build:modules:esm && npm run build:modules:cjs",
|
|
24
24
|
"build": "npm run build:umd && npm run build:modules",
|
|
25
25
|
"dev": "npx webpack --config webpack.config.js --watch",
|
|
26
|
+
"prepare": "npm run build:modules",
|
|
26
27
|
"postinstall": "node -e \"const { execSync } = require('child_process'); try { execSync('coc --version', { stdio: 'ignore' }); } catch (error) { try { execSync('npm install -g @cocreate/cli', { stdio: 'inherit' }); console.log('Installed \"@cocreate/cli\" globally.'); } catch (error) { console.error('Failed to install \"@cocreate/cli\" globally:', error); } }\""
|
|
27
28
|
},
|
|
28
29
|
"repository": {
|
|
@@ -39,122 +40,23 @@
|
|
|
39
40
|
"type": "GitHub Sponsors ❤",
|
|
40
41
|
"url": "https://github.com/sponsors/CoCreate-app"
|
|
41
42
|
},
|
|
42
|
-
"main": "./dist/cjs/index.
|
|
43
|
+
"main": "./dist/cjs/index.js",
|
|
43
44
|
"module": "./dist/esm/index.js",
|
|
45
|
+
"files": [
|
|
46
|
+
"dist",
|
|
47
|
+
"src",
|
|
48
|
+
"README.md",
|
|
49
|
+
"LICENSE"
|
|
50
|
+
],
|
|
44
51
|
"exports": {
|
|
45
52
|
".": {
|
|
46
53
|
"import": "./dist/esm/index.js",
|
|
47
|
-
"require": "./dist/cjs/index.
|
|
48
|
-
},
|
|
49
|
-
"./getRelativePath": {
|
|
50
|
-
"import": "./dist/esm/getRelativePath.js",
|
|
51
|
-
"require": "./dist/cjs/getRelativePath.js"
|
|
52
|
-
},
|
|
53
|
-
"./ObjectId": {
|
|
54
|
-
"import": "./dist/esm/ObjectId.js",
|
|
55
|
-
"require": "./dist/cjs/ObjectId.js"
|
|
56
|
-
},
|
|
57
|
-
"./uid": {
|
|
58
|
-
"import": "./dist/esm/uid.js",
|
|
59
|
-
"require": "./dist/cjs/uid.js"
|
|
60
|
-
},
|
|
61
|
-
"./checkValue": {
|
|
62
|
-
"import": "./dist/esm/checkValue.js",
|
|
63
|
-
"require": "./dist/cjs/checkValue.js"
|
|
64
|
-
},
|
|
65
|
-
"./isValidDate": {
|
|
66
|
-
"import": "./dist/esm/isValidDate.js",
|
|
67
|
-
"require": "./dist/cjs/isValidDate.js"
|
|
68
|
-
},
|
|
69
|
-
"./objectToSearchParams": {
|
|
70
|
-
"import": "./dist/esm/objectToSearchParams.js",
|
|
71
|
-
"require": "./dist/cjs/objectToSearchParams.js"
|
|
72
|
-
},
|
|
73
|
-
"./dotNotationToObject": {
|
|
74
|
-
"import": "./dist/esm/dotNotationToObject.js",
|
|
75
|
-
"require": "./dist/cjs/dotNotationToObject.js"
|
|
76
|
-
},
|
|
77
|
-
"./objectToDotNotation": {
|
|
78
|
-
"import": "./dist/esm/objectToDotNotation.js",
|
|
79
|
-
"require": "./dist/cjs/objectToDotNotation.js"
|
|
80
|
-
},
|
|
81
|
-
"./getValueFromObject": {
|
|
82
|
-
"import": "./dist/esm/getValueFromObject.js",
|
|
83
|
-
"require": "./dist/cjs/getValueFromObject.js"
|
|
84
|
-
},
|
|
85
|
-
"./createUpdate": {
|
|
86
|
-
"import": "./dist/esm/createUpdate.js",
|
|
87
|
-
"require": "./dist/cjs/createUpdate.js"
|
|
88
|
-
},
|
|
89
|
-
"./domParser": {
|
|
90
|
-
"import": "./dist/esm/domParser.js",
|
|
91
|
-
"require": "./dist/cjs/domParser.js"
|
|
92
|
-
},
|
|
93
|
-
"./parseTextToHtml": {
|
|
94
|
-
"import": "./dist/esm/parseTextToHtml.js",
|
|
95
|
-
"require": "./dist/cjs/parseTextToHtml.js"
|
|
96
|
-
},
|
|
97
|
-
"./escapeHtml": {
|
|
98
|
-
"import": "./dist/esm/escapeHtml.js",
|
|
99
|
-
"require": "./dist/cjs/escapeHtml.js"
|
|
100
|
-
},
|
|
101
|
-
"./cssPath": {
|
|
102
|
-
"import": "./dist/esm/cssPath.js",
|
|
103
|
-
"require": "./dist/cjs/cssPath.js"
|
|
104
|
-
},
|
|
105
|
-
"./queryElements": {
|
|
106
|
-
"import": "./dist/esm/queryElements.js",
|
|
107
|
-
"require": "./dist/cjs/queryElements.js"
|
|
108
|
-
},
|
|
109
|
-
"./checkMediaQueries": {
|
|
110
|
-
"import": "./dist/esm/queryElements.js",
|
|
111
|
-
"require": "./dist/cjs/queryElements.js"
|
|
112
|
-
},
|
|
113
|
-
"./queryData": {
|
|
114
|
-
"import": "./dist/esm/dataQuery.js",
|
|
115
|
-
"require": "./dist/cjs/dataQuery.js"
|
|
116
|
-
},
|
|
117
|
-
"./searchData": {
|
|
118
|
-
"import": "./dist/esm/dataQuery.js",
|
|
119
|
-
"require": "./dist/cjs/dataQuery.js"
|
|
120
|
-
},
|
|
121
|
-
"./sortData": {
|
|
122
|
-
"import": "./dist/esm/dataQuery.js",
|
|
123
|
-
"require": "./dist/cjs/dataQuery.js"
|
|
124
|
-
},
|
|
125
|
-
"./getAttributes": {
|
|
126
|
-
"import": "./dist/esm/attributes.js",
|
|
127
|
-
"require": "./dist/cjs/attributes.js"
|
|
128
|
-
},
|
|
129
|
-
"./getAttributeNames": {
|
|
130
|
-
"import": "./dist/esm/attributes.js",
|
|
131
|
-
"require": "./dist/cjs/attributes.js"
|
|
132
|
-
},
|
|
133
|
-
"./setAttributeNames": {
|
|
134
|
-
"import": "./dist/esm/attributes.js",
|
|
135
|
-
"require": "./dist/cjs/attributes.js"
|
|
136
|
-
},
|
|
137
|
-
"./processOperators": {
|
|
138
|
-
"import": "./dist/esm/operators.js",
|
|
139
|
-
"require": "./dist/cjs/operators.js"
|
|
140
|
-
},
|
|
141
|
-
"./processOperatorsAsync": {
|
|
142
|
-
"import": "./dist/esm/operators.js",
|
|
143
|
-
"require": "./dist/cjs/operators.js"
|
|
144
|
-
},
|
|
145
|
-
"./clickedElement": {
|
|
146
|
-
"import": "./dist/esm/clickedElement.js",
|
|
147
|
-
"require": "./dist/cjs/clickedElement.js"
|
|
148
|
-
},
|
|
149
|
-
"./init-browser": {
|
|
150
|
-
"import": "./dist/esm/init-browser.js",
|
|
151
|
-
"require": "./dist/cjs/init-browser.js"
|
|
54
|
+
"require": "./dist/cjs/index.js"
|
|
152
55
|
},
|
|
153
56
|
"./package.json": "./package.json"
|
|
154
57
|
},
|
|
155
58
|
"sideEffects": [
|
|
156
|
-
"./
|
|
157
|
-
"./dist/cjs/init-browser.js",
|
|
59
|
+
"./src/init-browser.js",
|
|
158
60
|
"./dist/CoCreate-utils.js",
|
|
159
61
|
"./dist/CoCreate-utils.min.js"
|
|
160
62
|
],
|
package/.github/FUNDING.yml
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
name: Automated Workflow
|
|
2
|
-
on:
|
|
3
|
-
push:
|
|
4
|
-
branches:
|
|
5
|
-
- master
|
|
6
|
-
jobs:
|
|
7
|
-
about:
|
|
8
|
-
runs-on: ubuntu-latest
|
|
9
|
-
steps:
|
|
10
|
-
- name: Checkout
|
|
11
|
-
uses: actions/checkout@v3
|
|
12
|
-
- name: Setup Node.js
|
|
13
|
-
uses: actions/setup-node@v3
|
|
14
|
-
with:
|
|
15
|
-
node-version: 16
|
|
16
|
-
- name: Jaid/action-sync-node-meta
|
|
17
|
-
uses: jaid/action-sync-node-meta@v1.4.0
|
|
18
|
-
with:
|
|
19
|
-
direction: overwrite-github
|
|
20
|
-
githubToken: "${{ secrets.GITHUB }}"
|
|
21
|
-
release:
|
|
22
|
-
runs-on: ubuntu-latest
|
|
23
|
-
steps:
|
|
24
|
-
- name: Checkout
|
|
25
|
-
uses: actions/checkout@v4
|
|
26
|
-
- name: Setup Node.js
|
|
27
|
-
uses: actions/setup-node@v4
|
|
28
|
-
with:
|
|
29
|
-
node-version: 22 # Required for the latest semantic-release plugins
|
|
30
|
-
- name: Semantic Release
|
|
31
|
-
uses: cycjimmy/semantic-release-action@v4 # Update to v4 for better Node 20+ support
|
|
32
|
-
id: semantic
|
|
33
|
-
with:
|
|
34
|
-
extra_plugins: |
|
|
35
|
-
@semantic-release/changelog
|
|
36
|
-
@semantic-release/git
|
|
37
|
-
@semantic-release/github
|
|
38
|
-
env:
|
|
39
|
-
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" # Use the built-in token if possible
|
|
40
|
-
NPM_TOKEN: "${{ secrets.NPM_TOKEN }}"
|
|
41
|
-
outputs:
|
|
42
|
-
new_release_published: "${{ steps.semantic.outputs.new_release_published }}"
|
|
43
|
-
new_release_version: "${{ steps.semantic.outputs.new_release_version }}"
|
|
44
|
-
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
name: Manual Workflow
|
|
2
|
-
on:
|
|
3
|
-
workflow_dispatch:
|
|
4
|
-
inputs:
|
|
5
|
-
invalidations:
|
|
6
|
-
description: |
|
|
7
|
-
If set to 'true', invalidates previous upload.
|
|
8
|
-
default: "true"
|
|
9
|
-
required: true
|
|
10
|
-
|
|
11
|
-
jobs:
|
|
12
|
-
cdn:
|
|
13
|
-
runs-on: ubuntu-latest
|
|
14
|
-
env:
|
|
15
|
-
DRY_RUN: ${{ github.event.inputs.dry_run }}
|
|
16
|
-
GITHUB_TOKEN: "${{ secrets.GITHUB }}"
|
|
17
|
-
NPM_TOKEN: "${{ secrets.NPM_TOKEN }}"
|
|
18
|
-
|
|
19
|
-
steps:
|
|
20
|
-
- name: Checkout
|
|
21
|
-
uses: actions/checkout@v3
|
|
22
|
-
- name: setup nodejs
|
|
23
|
-
uses: actions/setup-node@v3
|
|
24
|
-
with:
|
|
25
|
-
node-version: 16
|
|
26
|
-
- name: yarn install
|
|
27
|
-
run: >
|
|
28
|
-
echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" >
|
|
29
|
-
.npmrc
|
|
30
|
-
|
|
31
|
-
yarn install
|
|
32
|
-
- name: yarn build
|
|
33
|
-
run: yarn build
|
|
34
|
-
- name: upload latest bundle
|
|
35
|
-
uses: CoCreate-app/CoCreate-s3@master
|
|
36
|
-
with:
|
|
37
|
-
aws-key-id: "${{ secrets.AWSACCESSKEYID }}"
|
|
38
|
-
aws-access-key: "${{ secrets.AWSSECERTACCESSKEY }}"
|
|
39
|
-
distributionId: "${{ secrets.DISTRIBUTION_ID }}"
|
|
40
|
-
bucket: testcrudbucket
|
|
41
|
-
source: ./dist
|
|
42
|
-
destination: /utils/latest
|
|
43
|
-
acl: public-read
|
|
44
|
-
invalidations: ${{ github.event.inputs.invalidations }}
|