@toolpad/utils
Version:
Shared utilities used by Toolpad packages.
48 lines (39 loc) • 1.12 kB
JavaScript
/**
* The inverse of Awaited.
*/
/**
* @example
* type T0 = Join<[1, 2, 3, 4], '.'>; // '1.2.3.4'
* type T1 = Join<['foo', 'bar', 'baz'], '-'>; // 'foo-bar-baz'
* type T2 = Join<[], '.'>; // ''
*/
/**
* @example
* type T0 = Split<'foo', '.'>; // ['foo']
* type T1 = Split<'foo.bar.baz', '.'>; // ['foo', 'bar', 'baz']
* type T2 = Split<'foo.bar', ''>; // ['f', 'o', 'o', '.', 'b', 'a', 'r']
*/
/**
* @example
* type T0 = CapitalizeAll<['foo', 'bar']>; // ['Foo', 'Bar']
* type T1 = CapitalizeAll<[]>; // []
*/
/**
* @example
* type T0 = CapitalizeAll<['foo', 'bar', 'baz']>; // ['foo', 'Bar', 'Baz']
* type T1 = CapitalizeAll<['foo']>; // ['foo']
* type T2 = CapitalizeAll<[]>; // []
*/
/**
* sString template type that converts snake-case to camel-case
* @example
* type T0 = SnakeToCamel<'foo-bar-baz'>; // 'fooBarBaz'
* type T1 = CapitalizeAll<'foo'>; // 'foo'
* type T2 = CapitalizeAll<''>; // ''
*/
/**
* The inverso of NonNullable
*/
// https://stackoverflow.com/a/56749647
// See https://github.com/microsoft/vscode/issues/94679#issuecomment-755194161
export {};