@grnsft/if
Version:
Impact Framework
29 lines • 3.19 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.CommonGenerator = void 0;
const utils_1 = require("@grnsft/if-core/utils");
const config_1 = require("../../../config");
const { ConfigError } = utils_1.ERRORS;
const { MISSING_CONFIG } = config_1.STRINGS;
const CommonGenerator = (config) => {
/**
* Generates next value by copying the validated config.
* Validates the provided config is not null or empty.
* Returns a copy of the validated config, otherwise throws an ConfigError.
*/
const validateConfig = (config) => {
if (!config || Object.keys(config).length === 0) {
throw new ConfigError(MISSING_CONFIG);
}
return structuredClone(config);
};
/**
* Generates next value by copying the validated config.
*/
const next = () => validateConfig(config);
return {
next,
};
};
exports.CommonGenerator = CommonGenerator;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLWdlbmVyYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9pZi1ydW4vYnVpbHRpbnMvbW9jay1vYnNlcnZhdGlvbnMvaGVscGVycy9jb21tb24tZ2VuZXJhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLGlEQUE2QztBQUc3Qyw0Q0FBd0M7QUFJeEMsTUFBTSxFQUFDLFdBQVcsRUFBQyxHQUFHLGNBQU0sQ0FBQztBQUM3QixNQUFNLEVBQUMsY0FBYyxFQUFDLEdBQUcsZ0JBQU8sQ0FBQztBQUUxQixNQUFNLGVBQWUsR0FBRyxDQUFDLE1BQW9CLEVBQWEsRUFBRTtJQUNqRTs7OztPQUlHO0lBQ0gsTUFBTSxjQUFjLEdBQUcsQ0FBQyxNQUFjLEVBQUUsRUFBRTtRQUN4QyxJQUFJLENBQUMsTUFBTSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUMvQyxNQUFNLElBQUksV0FBVyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1NBQ3ZDO1FBRUQsT0FBTyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDakMsQ0FBQyxDQUFDO0lBRUY7O09BRUc7SUFDSCxNQUFNLElBQUksR0FBRyxHQUFXLEVBQUUsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFbEQsT0FBTztRQUNMLElBQUk7S0FDTCxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBdEJXLFFBQUEsZUFBZSxtQkFzQjFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtFUlJPUlN9IGZyb20gJ0Bncm5zZnQvaWYtY29yZS91dGlscyc7XG5pbXBvcnQge0NvbmZpZ1BhcmFtc30gZnJvbSAnQGdybnNmdC9pZi1jb3JlL3R5cGVzJztcblxuaW1wb3J0IHtTVFJJTkdTfSBmcm9tICcuLi8uLi8uLi9jb25maWcnO1xuXG5pbXBvcnQge0dlbmVyYXRvcn0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5cbmNvbnN0IHtDb25maWdFcnJvcn0gPSBFUlJPUlM7XG5jb25zdCB7TUlTU0lOR19DT05GSUd9ID0gU1RSSU5HUztcblxuZXhwb3J0IGNvbnN0IENvbW1vbkdlbmVyYXRvciA9IChjb25maWc6IENvbmZpZ1BhcmFtcyk6IEdlbmVyYXRvciA9PiB7XG4gIC8qKlxuICAgKiBHZW5lcmF0ZXMgbmV4dCB2YWx1ZSBieSBjb3B5aW5nIHRoZSB2YWxpZGF0ZWQgY29uZmlnLlxuICAgKiBWYWxpZGF0ZXMgdGhlIHByb3ZpZGVkIGNvbmZpZyBpcyBub3QgbnVsbCBvciBlbXB0eS5cbiAgICogUmV0dXJucyBhIGNvcHkgb2YgdGhlIHZhbGlkYXRlZCBjb25maWcsIG90aGVyd2lzZSB0aHJvd3MgYW4gQ29uZmlnRXJyb3IuXG4gICAqL1xuICBjb25zdCB2YWxpZGF0ZUNvbmZpZyA9IChjb25maWc6IG9iamVjdCkgPT4ge1xuICAgIGlmICghY29uZmlnIHx8IE9iamVjdC5rZXlzKGNvbmZpZykubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aHJvdyBuZXcgQ29uZmlnRXJyb3IoTUlTU0lOR19DT05GSUcpO1xuICAgIH1cblxuICAgIHJldHVybiBzdHJ1Y3R1cmVkQ2xvbmUoY29uZmlnKTtcbiAgfTtcblxuICAvKipcbiAgICogR2VuZXJhdGVzIG5leHQgdmFsdWUgYnkgY29weWluZyB0aGUgdmFsaWRhdGVkIGNvbmZpZy5cbiAgICovXG4gIGNvbnN0IG5leHQgPSAoKTogT2JqZWN0ID0+IHZhbGlkYXRlQ29uZmlnKGNvbmZpZyk7XG5cbiAgcmV0dXJuIHtcbiAgICBuZXh0LFxuICB9O1xufTtcbiJdfQ==