util: add handlebars render helper
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
This commit is contained in:
@@ -392,6 +392,20 @@ describe('generateRandomString', () => {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe('compileHandlebars', () => {
|
||||||
|
it('renders the template with the meta context and compile options', () => {
|
||||||
|
const rendered = Util.compileHandlebars(
|
||||||
|
'{{name}} {{{raw}}}',
|
||||||
|
{noEscape: true},
|
||||||
|
{
|
||||||
|
name: 'docker',
|
||||||
|
raw: '<strong>actions-toolkit</strong>'
|
||||||
|
}
|
||||||
|
);
|
||||||
|
expect(rendered).toBe('docker <strong>actions-toolkit</strong>');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
describe('stringToUnicodeEntities', () => {
|
describe('stringToUnicodeEntities', () => {
|
||||||
it('should convert a string to Unicode entities', () => {
|
it('should convert a string to Unicode entities', () => {
|
||||||
const input = 'Hello, World!';
|
const input = 'Hello, World!';
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
import crypto from 'crypto';
|
import crypto from 'crypto';
|
||||||
import fs from 'fs';
|
import fs from 'fs';
|
||||||
import path from 'path';
|
import path from 'path';
|
||||||
|
import * as handlebars from 'handlebars';
|
||||||
import * as core from '@actions/core';
|
import * as core from '@actions/core';
|
||||||
import * as io from '@actions/io';
|
import * as io from '@actions/io';
|
||||||
import {parse} from 'csv-parse/sync';
|
import {parse} from 'csv-parse/sync';
|
||||||
@@ -202,6 +203,10 @@ export class Util {
|
|||||||
return bytes.toString('hex').slice(0, length);
|
return bytes.toString('hex').slice(0, length);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static compileHandlebars(value: string, options: Parameters<typeof handlebars.compile>[1], data: unknown): string {
|
||||||
|
return handlebars.compile(value, options)(data);
|
||||||
|
}
|
||||||
|
|
||||||
public static stringToUnicodeEntities(str: string) {
|
public static stringToUnicodeEntities(str: string) {
|
||||||
return Array.from(str)
|
return Array.from(str)
|
||||||
.map(char => `&#x${char.charCodeAt(0).toString(16)};`)
|
.map(char => `&#x${char.charCodeAt(0).toString(16)};`)
|
||||||
|
|||||||
Reference in New Issue
Block a user