UNPKG

@polymer/polymer

Version:

The Polymer library makes it easy to create your own web components. Give your element some markup and properties, and then use it on a site. Polymer provides features like dynamic templates and data binding to reduce the amount of boilerplate you need to

156 lines (132 loc) 4.19 kB
/** * DO NOT EDIT * * This file was automatically generated by * https://github.com/Polymer/tools/tree/master/packages/gen-typescript-declarations * * To modify these typings, edit the source file(s): * lib/utils/path.html */ // tslint:disable:variable-name Describing an API that's defined elsewhere. // tslint:disable:no-any describes the API as best we are able today /// <reference path="boot.d.ts" /> declare namespace Polymer { /** * Module with utilities for manipulating structured data path strings. */ namespace Path { /** * Returns true if the given string is a structured data path (has dots). * * Example: * * ``` * Polymer.Path.isPath('foo.bar.baz') // true * Polymer.Path.isPath('foo') // false * ``` * * @returns True if the string contained one or more dots */ function isPath(path: string): boolean; /** * Returns the root property name for the given path. * * Example: * * ``` * Polymer.Path.root('foo.bar.baz') // 'foo' * Polymer.Path.root('foo') // 'foo' * ``` * * @returns Root property name */ function root(path: string): string; /** * Given `base` is `foo.bar`, `foo` is an ancestor, `foo.bar` is not * Returns true if the given path is an ancestor of the base path. * * Example: * * ``` * Polymer.Path.isAncestor('foo.bar', 'foo') // true * Polymer.Path.isAncestor('foo.bar', 'foo.bar') // false * Polymer.Path.isAncestor('foo.bar', 'foo.bar.baz') // false * ``` * * @returns True if `path` is an ancestor of `base`. */ function isAncestor(base: string, path: string): boolean; /** * Given `base` is `foo.bar`, `foo.bar.baz` is an descendant * * Example: * * ``` * Polymer.Path.isDescendant('foo.bar', 'foo.bar.baz') // true * Polymer.Path.isDescendant('foo.bar', 'foo.bar') // false * Polymer.Path.isDescendant('foo.bar', 'foo') // false * ``` * * @returns True if `path` is a descendant of `base`. */ function isDescendant(base: string, path: string): boolean; /** * Replaces a previous base path with a new base path, preserving the * remainder of the path. * * User must ensure `path` has a prefix of `base`. * * Example: * * ``` * Polymer.Path.translate('foo.bar', 'zot', 'foo.bar.baz') // 'zot.baz' * ``` * * @returns Translated string */ function translate(base: string, newBase: string, path: string): string; /** * Converts array-based paths to flattened path. String-based paths * are returned as-is. * * Example: * * ``` * Polymer.Path.normalize(['foo.bar', 0, 'baz']) // 'foo.bar.0.baz' * Polymer.Path.normalize('foo.bar.0.baz') // 'foo.bar.0.baz' * ``` * * @returns Flattened path */ function normalize(path: string|Array<string|number>): string; /** * Splits a path into an array of property names. Accepts either arrays * of path parts or strings. * * Example: * * ``` * Polymer.Path.split(['foo.bar', 0, 'baz']) // ['foo', 'bar', '0', 'baz'] * Polymer.Path.split('foo.bar.0.baz') // ['foo', 'bar', '0', 'baz'] * ``` * * @returns Array of path parts */ function split(path: string|Array<string|number>): string[]; /** * Reads a value from a path. If any sub-property in the path is `undefined`, * this method returns `undefined` (will never throw. * * @returns Value at path, or `undefined` if the path could not be * fully dereferenced. */ function get(root: object|null, path: string|Array<string|number>, info?: object|null): any; /** * Sets a value to a path. If any sub-property in the path is `undefined`, * this method will no-op. * * @returns The normalized version of the input path */ function set(root: object|null, path: string|Array<string|number>, value: any): string|undefined; } }