UNPKG

cione-comp-lib

Version:

`$ yarn add cione-comp-lib` 或者 `$ npm i cione-comp-lib -S`

30 lines (29 loc) 1.25 kB
import { parseExpressions } from "./parsers.mjs"; /* @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 };