@lightningjs/sdk
Version:
The Lightning-SDK helps you build great Lightning-based TV apps!
40 lines (37 loc) • 1.31 kB
JavaScript
/*
* If not stated otherwise in this file or this component's LICENSE file the
* following copyright and licenses apply:
*
* Copyright 2020 Metrological
*
* 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.
*/
export const hasRegex = /\{\/(.*?)\/([igm]{0,3})\}/g
export const isWildcard = /^[!*$]$/
export const hasLookupId = /\/:\w+?@@([0-9]+?)@@/
export const isNamedGroup = /^\/:/
/**
* Test if a route is part regular expressed
* and replace it for a simple character
* @param route
* @returns {*}
*/
export const stripRegex = (route, char = 'R') => {
// if route is part regular expressed we replace
// the regular expression for a character to
// simplify floor calculation and backtracking
if (hasRegex.test(route)) {
route = route.replace(hasRegex, char)
}
return route
}