Sha256: 24361f7b9ca6c0ee6e12ed80442308396a06377a8b9ce01a48124a72c23280f8

Contents?: true

Size: 873 Bytes

Versions: 26

Compression:

Stored size: 873 Bytes

Contents

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.permutePath = permutePath;
/**
 * Generates the permutation of all possible values that {@link pathMatch} the `path` parameter.
 * The array is in longest-to-shortest order.  Useful when building custom {@link Store} implementations.
 *
 * @example
 * ```
 * permutePath('/foo/bar/')
 * // ['/foo/bar/', '/foo/bar', '/foo', '/']
 * ```
 *
 * @param path - the path to generate permutations for
 * @public
 */
function permutePath(path) {
    if (path === '/') {
        return ['/'];
    }
    const permutations = [path];
    while (path.length > 1) {
        const lindex = path.lastIndexOf('/');
        if (lindex === 0) {
            break;
        }
        path = path.slice(0, lindex);
        permutations.push(path);
    }
    permutations.push('/');
    return permutations;
}

Version data entries

26 entries across 26 versions & 1 rubygems

Version Path
clapton-0.0.26 lib/clapton/javascripts/node_modules/tough-cookie/dist/cookie/permutePath.js
clapton-0.0.25 lib/clapton/javascripts/node_modules/tough-cookie/dist/cookie/permutePath.js
clapton-0.0.24 lib/clapton/javascripts/node_modules/tough-cookie/dist/cookie/permutePath.js
clapton-0.0.23 lib/clapton/javascripts/node_modules/tough-cookie/dist/cookie/permutePath.js
clapton-0.0.22 lib/clapton/javascripts/node_modules/tough-cookie/dist/cookie/permutePath.js
clapton-0.0.21 lib/clapton/javascripts/node_modules/tough-cookie/dist/cookie/permutePath.js
clapton-0.0.20 lib/clapton/javascripts/node_modules/tough-cookie/dist/cookie/permutePath.js
clapton-0.0.19 lib/clapton/javascripts/node_modules/tough-cookie/dist/cookie/permutePath.js
clapton-0.0.18 lib/clapton/javascripts/node_modules/tough-cookie/dist/cookie/permutePath.js
clapton-0.0.17 lib/clapton/javascripts/node_modules/tough-cookie/dist/cookie/permutePath.js
clapton-0.0.16 lib/clapton/javascripts/node_modules/tough-cookie/dist/cookie/permutePath.js
clapton-0.0.15 lib/clapton/javascripts/node_modules/tough-cookie/dist/cookie/permutePath.js
clapton-0.0.14 lib/clapton/javascripts/node_modules/tough-cookie/dist/cookie/permutePath.js
clapton-0.0.13 lib/clapton/javascripts/node_modules/tough-cookie/dist/cookie/permutePath.js
clapton-0.0.12 lib/clapton/javascripts/node_modules/tough-cookie/dist/cookie/permutePath.js
clapton-0.0.11 lib/clapton/javascripts/node_modules/tough-cookie/dist/cookie/permutePath.js
clapton-0.0.10 lib/clapton/javascripts/node_modules/tough-cookie/dist/cookie/permutePath.js
clapton-0.0.9 lib/clapton/javascripts/node_modules/tough-cookie/dist/cookie/permutePath.js
clapton-0.0.8 lib/clapton/javascripts/node_modules/tough-cookie/dist/cookie/permutePath.js
clapton-0.0.7 lib/clapton/javascripts/node_modules/tough-cookie/dist/cookie/permutePath.js