1.1.2 • Published 9 months ago

flatify.js v1.1.2

Weekly downloads
-
License
GPL-3.0
Repository
github
Last release
9 months ago

Flatify.js

This is the simple library for flatifying the objects, converting them to form string, search params, etc.

Usage

Installation

npm install flatify.js

Import

import { FlatObject, FlatTools, FlatKeyTools } from 'flatify.js'

Flatify object

const object = {
    configuration: {
        system: true,
        flags: [
            "isolated", "kernel", "module"
        ]
    }
};

const flat = new FlatObject(object);

Convert it

/**
 * @var urlSearchParams: URLSearchParams
 */
const urlSearchParams = FlatTools.toUrlSearchParams(flat);

/**
 * @var formParams: string
 * 
 * [configuration][system]=1&
 * [configuration][flags][]=isolated&
 * [configuration][flags][]=kernel&
 * [configuration][flags][]=module
 */
const formParams = FlatTools.toFormString(flat);

/**
 * @var formParamsUrlEncoded: string
 * 
 * %5Bconfiguration%5D%5Bsystem%5D%3D1%26
 * %5Bconfiguration%5D%5Bflags%5D%5B%5D%3Disolated%26
 * %5Bconfiguration%5D%5Bflags%5D%5B%5D%3Dkernel%26
 * %5Bconfiguration%5D%5Bflags%5D%5B%5D%3Dmodule
 */
const formParamsUrlEncoded = FlatTools.toUrlSearchParams(flat).toString();

/** 
 * @var flatKeyValueObject: FlatKeyValueObject = { 'a.b': 1 }
 */
const flatKeyValueObject = FlatTools.toFlatKeyValueObject({
    a: {
        b: true
    }
});

/**
 * @var keyValueObject: KeyValueObject<string, string|number|symbol|object|null>
 */
const keyValueObject = FlatTools.toKeyValueObject(flat);

FlatObject API

public listKeys():  Array<string>
public hasKey(key:  string):  boolean
public get(key:  string):  string|number|symbol|boolean|null
public getRaw():  FlatAvailableKeyValueObject
public getFlat():  FlatKeyValueObject

FlatTools API

public static toFlatKeyValueObject(object: FlatAvailableKeyValueObject, keyOfObject: string = ''): FlatKeyValueObject
public static toFormString(object: FlatObject, keyOfObject: string = '', useArrayIndexes: boolean = false): string
public static toUrlSearchParams(object: FlatObject, keyOfObject: string = '', useArrayIndexes: boolean = false): URLSearchParams
public static toKeyValueObject(object: FlatObject): FlatAvailableKeyValueObject

FlatKeyTools API

public static getKeyFromParts(...parts: Array<string>): string
public static getDotNotationKey(...parts:  Array<string>): string
public static dotsToBrackets(key: string, removeArrayIndexes: boolean = true): string

Types

KeyValueObject<KeyType extends string|number|symbol, ValueType> = {
	[key  in  KeyType]:  ValueType
}

FlatKeyValueObject = KeyValueObject<string, string|number|symbol|boolean|null>
FlatAvailableKeyValueObject = KeyValueObject<string, object|string|number|symbol|boolean|null>
1.1.2

9 months ago

1.1.1

9 months ago

1.0.5

9 months ago

1.0.3

9 months ago

1.0.2

9 months ago

1.0.1

9 months ago

1.0.0

9 months ago

0.0.3

9 months ago

0.0.2

9 months ago

0.0.1

9 months ago