import { parseExpressions } from "./parsers.js";
/* @license
 * Copyright 2019 Google LLC. All Rights Reserved.
 * Licensed under the Apache License, Version 2.0 (the 'License');
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an 'AS IS' BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
const enumerationDeserializer = (allowedNames) => (valueString) => {
  try {
    const expressions = parseExpressions(valueString);
    const names = (expressions.length ? expressions[0].terms : []).filter((valueNode) => valueNode && valueNode.type === "ident").map((valueNode) => valueNode.value).filter((name) => allowedNames.indexOf(name) > -1);
    const result = /* @__PURE__ */ new Set();
    for (const name of names) {
      result.add(name);
    }
    return result;
  } catch (_error) {
  }
  return /* @__PURE__ */ new Set();
};
export {
  enumerationDeserializer
};
//# sourceMappingURL=deserializers.js.map
