UNPKG

@grnsft/if

Version:

Impact Framework

29 lines 3.19 kB
"use strict"; 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==