Merge pull request #33082 from petekp/patch-1

[Theo]: Allow arbitrary strings in certain params of string literal union type
This commit is contained in:
Andrew Casey
2019-02-19 15:49:23 -08:00
committed by GitHub
2 changed files with 36 additions and 20 deletions

49
types/theo/index.d.ts vendored
View File

@@ -1,9 +1,9 @@
// Type definitions for theo 8.1
// Type definitions for Theo 8.1
// Project: https://github.com/salesforce-ux/theo
// Definitions by: Pete Petrash <https://github.com/petekp>
// Niko Laitinen <https://github.com/laitine>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
// TypeScript Version: 2.2
// TypeScript Version: 2.3
import { Collection, Map, List, OrderedMap } from "immutable";
@@ -35,21 +35,16 @@ export type Format =
| "android.xml"
| "aura.tokens";
export function convert(options: ConvertOptions): Promise<string>;
export function convertSync(options: ConvertOptions): string;
export function registerFormat(
name: string,
format: FormatResultFn | string
): void;
export function registerTransform(
name: string,
valueTransforms: string[]
): void;
export function registerValueTransform(
name: string,
predicate: (prop: Prop) => boolean,
transform: (prop: Prop) => string | number
): void;
export type Transform = "raw" | "ios" | "android" | "web";
export type ValueTransform =
| "color/rgb"
| "color/hex"
| "color/hex8rgba"
| "color/hex8argb"
| "percentage/float"
| "relative/pixel"
| "relative/pixelValue";
export type Prop = Map<StyleProperty, string | number>;
export type Props = List<Prop>;
@@ -78,8 +73,8 @@ export interface ConvertOptions {
resolveMetaAliases?: boolean;
}
export interface TransformOptions {
type?: string;
export interface TransformOptions<T extends string = never> {
type?: Transform | T;
file: string;
data?: string;
}
@@ -91,3 +86,19 @@ export interface FormatOptions {
transformPropName?: (name: string) => string
) => void;
}
export function convert(options: ConvertOptions): Promise<string>;
export function convertSync(options: ConvertOptions): string;
export function registerFormat<T extends string = never>(
name: Format | T,
format: FormatResultFn | string
): void;
export function registerTransform<T extends string = never>(
name: Transform | T,
valueTransforms: ValueTransform[] | T[]
): void;
export function registerValueTransform<T extends string = never>(
name: ValueTransform | T,
predicate: (prop: Prop) => boolean,
transform: (prop: Prop) => string | number
): void;

View File

@@ -1 +1,6 @@
{ "extends": "dtslint/dt.json" }
{
"extends": "dtslint/dt.json",
"rules": {
"no-unnecessary-generics": false
}
}