new(basic.gblib): FILL keyword can now template images and AS IMAGE can convert a DOCX to a PNG.
This commit is contained in:
parent
1c62edcfe6
commit
d4845dc062
2 changed files with 60 additions and 52 deletions
|
@ -312,21 +312,31 @@ export class AdminDialog extends IGBDialog {
|
||||||
}
|
}
|
||||||
|
|
||||||
await CollectionUtil.asyncForEach(packages, async packageName => {
|
await CollectionUtil.asyncForEach(packages, async packageName => {
|
||||||
let cmd1;
|
let cmd1;
|
||||||
if (packageName.indexOf('.') !== -1) {
|
|
||||||
cmd1 = `deployPackage ${process.env.STORAGE_SITE} /${process.env.STORAGE_LIBRARY}/${botId}.gbai/${packageName}`;
|
if (
|
||||||
} else {
|
packageName.indexOf('gbdialog') !== -1 ||
|
||||||
cmd1 = `deployPackage ${packageName}`;
|
packageName.indexOf('gbkb') !== -1 ||
|
||||||
}
|
packageName.indexOf('gbot') !== -1 ||
|
||||||
if (
|
packageName.indexOf('gbtheme') !== -1
|
||||||
(await (deployer as any).getStoragePackageByName(min.instance.instanceId, packageName)) !== null &&
|
) {
|
||||||
!process.env.DONT_DOWNLOAD
|
packageName = `${min.botId}.${packageName}`;
|
||||||
) {
|
}
|
||||||
const cmd2 = `undeployPackage ${packageName}`;
|
|
||||||
await GBAdminService.undeployPackageCommand(cmd2, min);
|
if (packageName.indexOf('.') !== -1) {
|
||||||
}
|
cmd1 = `deployPackage ${process.env.STORAGE_SITE} /${process.env.STORAGE_LIBRARY}/${botId}.gbai/${packageName}`;
|
||||||
await GBAdminService.deployPackageCommand(min, cmd1, deployer);
|
} else {
|
||||||
await min.conversationalService.sendText(min, step, `Finished publishing ${packageName}.`);
|
cmd1 = `deployPackage ${packageName}`;
|
||||||
|
}
|
||||||
|
if (
|
||||||
|
(await (deployer as any).getStoragePackageByName(min.instance.instanceId, packageName)) !== null &&
|
||||||
|
!process.env.DONT_DOWNLOAD
|
||||||
|
) {
|
||||||
|
const cmd2 = `undeployPackage ${packageName}`;
|
||||||
|
await GBAdminService.undeployPackageCommand(cmd2, min);
|
||||||
|
}
|
||||||
|
await GBAdminService.deployPackageCommand(min, cmd1, deployer);
|
||||||
|
await min.conversationalService.sendText(min, step, `Finished publishing ${packageName}.`);
|
||||||
});
|
});
|
||||||
await min.conversationalService.sendText(min, step, Messages[locale].publish_success);
|
await min.conversationalService.sendText(min, step, Messages[locale].publish_success);
|
||||||
if (!step.activeDialog.state.options.confirm) {
|
if (!step.activeDialog.state.options.confirm) {
|
||||||
|
@ -357,7 +367,7 @@ export class AdminDialog extends IGBDialog {
|
||||||
|
|
||||||
if (!result && min.instance.params) {
|
if (!result && min.instance.params) {
|
||||||
const params = JSON.parse(min.instance.params);
|
const params = JSON.parse(min.instance.params);
|
||||||
if (params){
|
if (params) {
|
||||||
return list.includes(params['Can Publish']);
|
return list.includes(params['Can Publish']);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -71,9 +71,7 @@ export class KeywordsExpressions {
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the page object.
|
* Returns the list of BASIC keyword and their JS match.
|
||||||
*
|
|
||||||
* @example OPEN "https://wikipedia.org"
|
|
||||||
*/
|
*/
|
||||||
public static getKeywords() {
|
public static getKeywords() {
|
||||||
|
|
||||||
|
@ -95,7 +93,7 @@ export class KeywordsExpressions {
|
||||||
keywords[i++] = [/^\s*\'.*/gim, ''];
|
keywords[i++] = [/^\s*\'.*/gim, ''];
|
||||||
|
|
||||||
keywords[i++] = [
|
keywords[i++] = [
|
||||||
/^\s*(\w+)\s*\=\s*SELECT\s*(.*)/gim,
|
/^\s*((?:[a-z]+.?)(?:(?:\w+).)(?:\w+)*)\s*=\s*SELECT\s*(.*)/gim,
|
||||||
($0, $1, $2) => {
|
($0, $1, $2) => {
|
||||||
let tableName = /\s*FROM\s*(\w+)/.exec($2)[1];
|
let tableName = /\s*FROM\s*(\w+)/.exec($2)[1];
|
||||||
let sql = `SELECT ${$2}`.replace(tableName, '?');
|
let sql = `SELECT ${$2}`.replace(tableName, '?');
|
||||||
|
@ -159,91 +157,91 @@ export class KeywordsExpressions {
|
||||||
];
|
];
|
||||||
|
|
||||||
keywords[i++] = [
|
keywords[i++] = [
|
||||||
/^\s*hear (\w+) as login/gim,
|
/^\s*hear (\w+) as\s*login/gim,
|
||||||
($0, $1) => {
|
($0, $1) => {
|
||||||
return `${$1} = await dk.getHear({pid: pid, kind:"login"})`;
|
return `${$1} = await dk.getHear({pid: pid, kind:"login"})`;
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
keywords[i++] = [
|
keywords[i++] = [
|
||||||
/^\s*hear (\w+) as email/gim,
|
/^\s*hear (\w+) as\s*email/gim,
|
||||||
($0, $1) => {
|
($0, $1) => {
|
||||||
return `${$1} = await dk.getHear({pid: pid, kind:"email"})`;
|
return `${$1} = await dk.getHear({pid: pid, kind:"email"})`;
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
keywords[i++] = [
|
keywords[i++] = [
|
||||||
/^\s*hear (\w+) as integer/gim,
|
/^\s*hear (\w+) as\s*integer/gim,
|
||||||
($0, $1) => {
|
($0, $1) => {
|
||||||
return `${$1} = await dk.getHear({pid: pid, kind:"integer"})`;
|
return `${$1} = await dk.getHear({pid: pid, kind:"integer"})`;
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
keywords[i++] = [
|
keywords[i++] = [
|
||||||
/^\s*hear (\w+) as file/gim,
|
/^\s*hear (\w+) as\s*file/gim,
|
||||||
($0, $1) => {
|
($0, $1) => {
|
||||||
return `${$1} = await dk.getHear({pid: pid, kind:"file"})`;
|
return `${$1} = await dk.getHear({pid: pid, kind:"file"})`;
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
keywords[i++] = [
|
keywords[i++] = [
|
||||||
/^\s*hear (\w+) as boolean/gim,
|
/^\s*hear (\w+) as\s*boolean/gim,
|
||||||
($0, $1) => {
|
($0, $1) => {
|
||||||
return `${$1} = await dk.getHear({pid: pid, kind:"boolean"})`;
|
return `${$1} = await dk.getHear({pid: pid, kind:"boolean"})`;
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
keywords[i++] = [
|
keywords[i++] = [
|
||||||
/^\s*hear (\w+) as name/gim,
|
/^\s*hear (\w+) as\s*name/gim,
|
||||||
($0, $1) => {
|
($0, $1) => {
|
||||||
return `${$1} = await dk.getHear({pid: pid, kind:"name"})`;
|
return `${$1} = await dk.getHear({pid: pid, kind:"name"})`;
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
keywords[i++] = [
|
keywords[i++] = [
|
||||||
/^\s*hear (\w+) as date/gim,
|
/^\s*hear (\w+) as\s*date/gim,
|
||||||
($0, $1) => {
|
($0, $1) => {
|
||||||
return `${$1} = await dk.getHear({pid: pid, kind:"date"})`;
|
return `${$1} = await dk.getHear({pid: pid, kind:"date"})`;
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
keywords[i++] = [
|
keywords[i++] = [
|
||||||
/^\s*hear (\w+) as hour/gim,
|
/^\s*hear (\w+) as\s*hour/gim,
|
||||||
($0, $1) => {
|
($0, $1) => {
|
||||||
return `${$1} = await dk.getHear({pid: pid, kind:"hour"})`;
|
return `${$1} = await dk.getHear({pid: pid, kind:"hour"})`;
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
keywords[i++] = [
|
keywords[i++] = [
|
||||||
/^\s*hear (\w+) as phone/gim,
|
/^\s*hear (\w+) as\s*phone/gim,
|
||||||
($0, $1) => {
|
($0, $1) => {
|
||||||
return `${$1} = await dk.getHear({pid: pid, kind:"phone"})`;
|
return `${$1} = await dk.getHear({pid: pid, kind:"phone"})`;
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
keywords[i++] = [
|
keywords[i++] = [
|
||||||
/^\s*hear (\w+) as money/gim,
|
/^\s*hear (\w+) as\s*money/gim,
|
||||||
($0, $1) => {
|
($0, $1) => {
|
||||||
return `${$1} = await dk.getHear({pid: pid, kind:"money")}`;
|
return `${$1} = await dk.getHear({pid: pid, kind:"money")}`;
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
keywords[i++] = [
|
keywords[i++] = [
|
||||||
/^\s*hear (\w+) as language/gim,
|
/^\s*hear (\w+) as\s*language/gim,
|
||||||
($0, $1) => {
|
($0, $1) => {
|
||||||
return `${$1} = await dk.getHear({pid: pid, kind:"language")}`;
|
return `${$1} = await dk.getHear({pid: pid, kind:"language")}`;
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
keywords[i++] = [
|
keywords[i++] = [
|
||||||
/^\s*hear (\w+) as zipcode/gim,
|
/^\s*hear (\w+) as\s*zipcode/gim,
|
||||||
($0, $1) => {
|
($0, $1) => {
|
||||||
return `${$1} = await dk.getHear({pid: pid, kind:"zipcode")}`;
|
return `${$1} = await dk.getHear({pid: pid, kind:"zipcode")}`;
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
keywords[i++] = [
|
keywords[i++] = [
|
||||||
/^\s*hear (\w+) as (.*)/gim,
|
/^\s*hear (\w+) as\s*(.*)/gim,
|
||||||
($0, $1, $2) => {
|
($0, $1, $2) => {
|
||||||
return `${$1} = await dk.getHear({pid: pid, kind:"menu", args: [${$2}]})`;
|
return `${$1} = await dk.getHear({pid: pid, kind:"menu", args: [${$2}]})`;
|
||||||
}
|
}
|
||||||
|
@ -257,14 +255,14 @@ export class KeywordsExpressions {
|
||||||
];
|
];
|
||||||
|
|
||||||
keywords[i++] = [
|
keywords[i++] = [
|
||||||
/^\s*(\w+)\s*\=\s*find contact\s*(.*)/gim,
|
/^\s*((?:[a-z]+.?)(?:(?:\w+).)(?:\w+)*)\s*=\s*find contact\s*(.*)/gim,
|
||||||
($0, $1, $2, $3) => {
|
($0, $1, $2, $3) => {
|
||||||
return `${$1} = await dk.fndContact({pid: pid, ${$2}})`;
|
return `${$1} = await dk.fndContact({pid: pid, ${$2}})`;
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
keywords[i++] = [
|
keywords[i++] = [
|
||||||
/^\s*(\w+)\s*=\s*find\s*(.*)\s*or talk\s*(.*)/gim,
|
/^\s*((?:[a-z]+.?)(?:(?:\w+).)(?:\w+)*)\s*=\s*find\s*(.*)\s*or talk\s*(.*)/gim,
|
||||||
($0, $1, $2, $3) => {
|
($0, $1, $2, $3) => {
|
||||||
return `${$1} = await sys.find({pid: pid, args:[${$2}])\n
|
return `${$1} = await sys.find({pid: pid, args:[${$2}])\n
|
||||||
if (!${$1}) {
|
if (!${$1}) {
|
||||||
|
@ -283,7 +281,7 @@ export class KeywordsExpressions {
|
||||||
];
|
];
|
||||||
|
|
||||||
keywords[i++] = [
|
keywords[i++] = [
|
||||||
/^\s*(\w+)\s*\=\s*find\s*(.*)/gim,
|
/^\s*((?:[a-z]+.?)(?:(?:\w+).)(?:\w+)*)\s*=\s*find\s*(.*)/gim,
|
||||||
($0, $1, $2, $3) => {
|
($0, $1, $2, $3) => {
|
||||||
return `
|
return `
|
||||||
${$1} = await sys.find({pid: pid, args: [${$2}]})`;
|
${$1} = await sys.find({pid: pid, args: [${$2}]})`;
|
||||||
|
@ -291,7 +289,7 @@ export class KeywordsExpressions {
|
||||||
];
|
];
|
||||||
|
|
||||||
keywords[i++] = [
|
keywords[i++] = [
|
||||||
/^\s*(\w+)\s*\=\s*create deal(\s*)(.*)/gim,
|
/^\s*((?:[a-z]+.?)(?:(?:\w+).)(?:\w+)*)\s*=\s*create deal(\s*)(.*)/gim,
|
||||||
($0, $1, $2, $3) => {
|
($0, $1, $2, $3) => {
|
||||||
const params = this.getParams($3, ['dealName', 'contact', 'company', 'amount']);
|
const params = this.getParams($3, ['dealName', 'contact', 'company', 'amount']);
|
||||||
|
|
||||||
|
@ -300,21 +298,21 @@ export class KeywordsExpressions {
|
||||||
];
|
];
|
||||||
|
|
||||||
keywords[i++] = [
|
keywords[i++] = [
|
||||||
/^\s*(\w+)\s*\=\s*active tasks/gim,
|
/^\s*((?:[a-z]+.?)(?:(?:\w+).)(?:\w+)*)\s*=\s*active tasks/gim,
|
||||||
($0, $1) => {
|
($0, $1) => {
|
||||||
return `${$1} = await dk.getActiveTasks({pid: pid})`;
|
return `${$1} = await dk.getActiveTasks({pid: pid})`;
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
keywords[i++] = [
|
keywords[i++] = [
|
||||||
/^\s*(\w+)\s*\=\s*append\s*(.*)/gim,
|
/^\s*((?:[a-z]+.?)(?:(?:\w+).)(?:\w+)*)\s*=\s*append\s*(.*)/gim,
|
||||||
($0, $1, $2, $3) => {
|
($0, $1, $2, $3) => {
|
||||||
return `${$1} = await sys.append({pid: pid, args:[${$2}]})`;
|
return `${$1} = await sys.append({pid: pid, args:[${$2}]})`;
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
keywords[i++] = [
|
keywords[i++] = [
|
||||||
/^\s*(\w+)\s*\=\s*sort\s*(\w+)\s*by(.*)/gim,
|
/^\s*((?:[a-z]+.?)(?:(?:\w+).)(?:\w+)*)\s*=\s*sort\s*(\w+)\s*by(.*)/gim,
|
||||||
($0, $1, $2, $3) => {
|
($0, $1, $2, $3) => {
|
||||||
return `${$1} = await sys.sortBy({pid: pid, array: ${$2}, memberName: "${$3}"})`;
|
return `${$1} = await sys.sortBy({pid: pid, array: ${$2}, memberName: "${$3}"})`;
|
||||||
}
|
}
|
||||||
|
@ -349,7 +347,7 @@ export class KeywordsExpressions {
|
||||||
];
|
];
|
||||||
|
|
||||||
keywords[i++] = [
|
keywords[i++] = [
|
||||||
/^\s*(\w+)\s*\=\s*get\s*(.*)/gim,
|
/^\s*((?:[a-z]+.?)(?:(?:\w+).)(?:\w+)*)\s*=\s*get\s*(.*)/gim,
|
||||||
($0, $1, $2, $3) => {
|
($0, $1, $2, $3) => {
|
||||||
const count = ($2.match(/\,/g) || []).length;
|
const count = ($2.match(/\,/g) || []).length;
|
||||||
const values = $2.split(',');
|
const values = $2.split(',');
|
||||||
|
@ -488,28 +486,28 @@ export class KeywordsExpressions {
|
||||||
];
|
];
|
||||||
|
|
||||||
keywords[i++] = [
|
keywords[i++] = [
|
||||||
/^\s*(\w+)\s*\=\s*post\s*(.*),\s*(.*)/gim,
|
/^\s*((?:[a-z]+.?)(?:(?:\w+).)(?:\w+)*)\s*=\s*post\s*(.*),\s*(.*)/gim,
|
||||||
($0, $1, $2, $3) => {
|
($0, $1, $2, $3) => {
|
||||||
return `${$1} = await sys.postByHttp ({pid: pid, url:${$2}, data:${$3}, headers})`;
|
return `${$1} = await sys.postByHttp ({pid: pid, url:${$2}, data:${$3}, headers})`;
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
keywords[i++] = [
|
keywords[i++] = [
|
||||||
/^\s*(\w+)\s*\=\s*put\s*(.*),\s*(.*)/gim,
|
/^\s*((?:[a-z]+.?)(?:(?:\w+).)(?:\w+)*)\s*=\s*put\s*(.*),\s*(.*)/gim,
|
||||||
($0, $1, $2, $3) => {
|
($0, $1, $2, $3) => {
|
||||||
return `${$1} = await sys.putByHttp ({pid: pid, url:${$2}, data:${$3}, headers})`;
|
return `${$1} = await sys.putByHttp ({pid: pid, url:${$2}, data:${$3}, headers})`;
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
keywords[i++] = [
|
keywords[i++] = [
|
||||||
/^\s*(\w+)\s*\=\s*download\s*(.*),\s*(.*)/gim,
|
/^\s*((?:[a-z]+.?)(?:(?:\w+).)(?:\w+)*)\s*=\s*download\s*(.*),\s*(.*)/gim,
|
||||||
($0, $1, $2, $3) => {
|
($0, $1, $2, $3) => {
|
||||||
return `${$1} = await sys.download ({pid: pid, handle:page, selector: ${$2}, folder:${$3}})`;
|
return `${$1} = await sys.download ({pid: pid, handle:page, selector: ${$2}, folder:${$3}})`;
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
keywords[i++] = [
|
keywords[i++] = [
|
||||||
/^\s*(\w+)\s*\=\s*CREATE FOLDER\s*(.*)/gim,
|
/^\s*((?:[a-z]+.?)(?:(?:\w+).)(?:\w+)*)\s*=\s*CREATE FOLDER\s*(.*)/gim,
|
||||||
($0, $1, $2) => {
|
($0, $1, $2) => {
|
||||||
return `${$1} = await sys.createFolder ({pid: pid, name:${$2}})`;
|
return `${$1} = await sys.createFolder ({pid: pid, name:${$2}})`;
|
||||||
}
|
}
|
||||||
|
@ -665,7 +663,7 @@ export class KeywordsExpressions {
|
||||||
];
|
];
|
||||||
|
|
||||||
keywords[i++] = [
|
keywords[i++] = [
|
||||||
/^\s*(\w+)\s*\=\s*chart(\s*)(.*)/gim,
|
/^\s*((?:[a-z]+.?)(?:(?:\w+).)(?:\w+)*)\s*=\s*chart(\s*)(.*)/gim,
|
||||||
($0, $1, $2, $3) => {
|
($0, $1, $2, $3) => {
|
||||||
const params = this.getParams($3, ['type', 'data', 'legends', 'transpose']);
|
const params = this.getParams($3, ['type', 'data', 'legends', 'transpose']);
|
||||||
return `${$1} = await dk.chart ({pid: pid, ${params}})`;
|
return `${$1} = await dk.chart ({pid: pid, ${params}})`;
|
||||||
|
@ -701,21 +699,21 @@ export class KeywordsExpressions {
|
||||||
];
|
];
|
||||||
|
|
||||||
keywords[i++] = [
|
keywords[i++] = [
|
||||||
/^\s*(\w+)\s*\=\s*(.*)\s*as image/gim,
|
/^\s*((?:[a-z]+.?)(?:(?:\w+).)(?:\w+)*)\s*=\s*(.*)\s*as\s*image/gim,
|
||||||
($0, $1, $2) => {
|
($0, $1, $2) => {
|
||||||
return `${$1} = await sys.asImage({pid: pid, data: ${$2}})`;
|
return `${$1} = await sys.asImage({pid: pid, data: ${$2}})`;
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
keywords[i++] = [
|
keywords[i++] = [
|
||||||
/^\s*(\w+)\s*\=\s*(.*)\s*as pdf/gim,
|
/^\s*((?:[a-z]+.?)(?:(?:\w+).)(?:\w+)*)\s*=\s*(.*)\s*as\s*pdf/gim,
|
||||||
($0, $1, $2) => {
|
($0, $1, $2) => {
|
||||||
return `${$1} = await sys.asPdf({pid: pid, data: ${$2})`;
|
return `${$1} = await sys.asPdf({pid: pid, data: ${$2})`;
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
keywords[i++] = [
|
keywords[i++] = [
|
||||||
/^\s*(\w+)\s*\=\s*FILL\s*(.*)\s*WITH\s*(.*)/gim,
|
/^\s*((?:[a-z]+.?)(?:(?:\w+).)(?:\w+)*)\s*=\s*FILL\s*(.*)\s*WITH\s*(.*)/gim,
|
||||||
($0, $1, $2, $3) => {
|
($0, $1, $2, $3) => {
|
||||||
return `${$1} = await sys.fill({pid: pid, templateName: ${$2}, data: ${$3}})`;
|
return `${$1} = await sys.fill({pid: pid, templateName: ${$2}, data: ${$3}})`;
|
||||||
}
|
}
|
||||||
|
@ -742,7 +740,7 @@ export class KeywordsExpressions {
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
keywords[i++] = [
|
keywords[i++] = [
|
||||||
/^\s*(\w+)\s*\=\s*BLUR\s*(.*)/gim,
|
/^\s*((?:[a-z]+.?)(?:(?:\w+).)(?:\w+)*)\s*=\s*BLUR\s*(.*)/gim,
|
||||||
($0, $1, $2, $3) => {
|
($0, $1, $2, $3) => {
|
||||||
return `
|
return `
|
||||||
${$1} = await img.blur({pid: pid, args: [${$2}]})`;
|
${$1} = await img.blur({pid: pid, args: [${$2}]})`;
|
||||||
|
@ -750,7 +748,7 @@ export class KeywordsExpressions {
|
||||||
];
|
];
|
||||||
|
|
||||||
keywords[i++] = [
|
keywords[i++] = [
|
||||||
/^\s*(\w+)\s*\=\s*SHARPEN\s*(.*)/gim,
|
/^\s*((?:[a-z]+.?)(?:(?:\w+).)(?:\w+)*)\s*=\s*SHARPEN\s*(.*)/gim,
|
||||||
($0, $1, $2, $3) => {
|
($0, $1, $2, $3) => {
|
||||||
return `
|
return `
|
||||||
${$1} = await img.sharpen({pid: pid, args: [${$2}]})`;
|
${$1} = await img.sharpen({pid: pid, args: [${$2}]})`;
|
||||||
|
@ -758,7 +756,7 @@ export class KeywordsExpressions {
|
||||||
];
|
];
|
||||||
|
|
||||||
keywords[i++] = [
|
keywords[i++] = [
|
||||||
/^\s*(\w+)\s*\=\s*CARD\s*(.*)/gim,
|
/^\s*((?:[a-z]+.?)(?:(?:\w+).)(?:\w+)*)\s*=\s*CARD\s*(.*)/gim,
|
||||||
($0, $1, $2, $3) => {
|
($0, $1, $2, $3) => {
|
||||||
const params = this.getParams($1, ['doc', 'data']);
|
const params = this.getParams($1, ['doc', 'data']);
|
||||||
return `
|
return `
|
||||||
|
|
Loading…
Add table
Reference in a new issue