webgl-dsl
    Preparing search index...

    Function uses

    Creates multiple disposable resources, uses them in a callback, and disposes of them afterward. It's similar to the use function but allows creating multiple resources.

    const value = uses(() => createResource1(),
    (resource1) => createResource2(resource1),
    (resource1, resource2) => computeValue(resource1, resource2));
    • Type Parameters

      Parameters

      • create1: () => T1
      • callback: (v1: T1) => R

      Returns R

    • Type Parameters

      Parameters

      • create1: () => T1
      • create2: (v1: T1) => T2
      • callback: (v1: T1, v2: T2) => R

      Returns R

    • Type Parameters

      Parameters

      • create1: () => T1
      • create2: (v1: T1) => T2
      • create3: (v1: T1, v2: T2) => T3
      • callback: (v1: T1, v2: T2, v3: T3) => R

      Returns R

    • Type Parameters

      Parameters

      • create1: () => T1
      • create2: (v1: T1) => T2
      • create3: (v1: T1, v2: T2) => T3
      • create4: (v1: T1, v2: T2, v3: T3) => T4
      • callback: (v1: T1, v2: T2, v3: T3, v4: T4) => R

      Returns R

    • Type Parameters

      Parameters

      • create1: () => T1
      • create2: (v1: T1) => T2
      • create3: (v1: T1, v2: T2) => T3
      • create4: (v1: T1, v2: T2, v3: T3) => T4
      • create5: (v1: T1, v2: T2, v3: T3, v4: T4) => T5
      • callback: (v1: T1, v2: T2, v3: T3, v4: T4, v5: T5) => R

      Returns R

    • Type Parameters

      Parameters

      • create1: () => T1
      • create2: (v1: T1) => T2
      • create3: (v1: T1, v2: T2) => T3
      • create4: (v1: T1, v2: T2, v3: T3) => T4
      • create5: (v1: T1, v2: T2, v3: T3, v4: T4) => T5
      • create6: (v1: T1, v2: T2, v3: T3, v4: T4, v5: T5) => T6
      • callback: (v1: T1, v2: T2, v3: T3, v4: T4, v5: T5, v6: T6) => R

      Returns R

    • Type Parameters

      Parameters

      Returns R

    • Type Parameters

      Parameters

      Returns R

    • Type Parameters

      Parameters

      Returns R

    • Type Parameters

      Parameters

      • create1: () => T1
      • create2: (v1: T1) => T2
      • create3: (v1: T1, v2: T2) => T3
      • create4: (v1: T1, v2: T2, v3: T3) => T4
      • create5: (v1: T1, v2: T2, v3: T3, v4: T4) => T5
      • create6: (v1: T1, v2: T2, v3: T3, v4: T4, v5: T5) => T6
      • create7: (v1: T1, v2: T2, v3: T3, v4: T4, v5: T5, v6: T6) => T7
      • create8: (v1: T1, v2: T2, v3: T3, v4: T4, v5: T5, v6: T6, v7: T7) => T8
      • create9: (v1: T1, v2: T2, v3: T3, v4: T4, v5: T5, v6: T6, v7: T7, v8: T8) => T9
      • create10: (v1: T1, v2: T2, v3: T3, v4: T4, v5: T5, v6: T6, v7: T7, v8: T8, v9: T9) => T10
      • callback: (
            v1: T1,
            v2: T2,
            v3: T3,
            v4: T4,
            v5: T5,
            v6: T6,
            v7: T7,
            v8: T8,
            v9: T9,
            v10: T10,
        ) => R

      Returns R

    • Type Parameters

      Parameters

      • create1: () => T1
      • create2: (v1: T1) => T2
      • create3: (v1: T1, v2: T2) => T3
      • create4: (v1: T1, v2: T2, v3: T3) => T4
      • create5: (v1: T1, v2: T2, v3: T3, v4: T4) => T5
      • create6: (v1: T1, v2: T2, v3: T3, v4: T4, v5: T5) => T6
      • create7: (v1: T1, v2: T2, v3: T3, v4: T4, v5: T5, v6: T6) => T7
      • create8: (v1: T1, v2: T2, v3: T3, v4: T4, v5: T5, v6: T6, v7: T7) => T8
      • create9: (v1: T1, v2: T2, v3: T3, v4: T4, v5: T5, v6: T6, v7: T7, v8: T8) => T9
      • create10: (v1: T1, v2: T2, v3: T3, v4: T4, v5: T5, v6: T6, v7: T7, v8: T8, v9: T9) => T10
      • create11: (
            v1: T1,
            v2: T2,
            v3: T3,
            v4: T4,
            v5: T5,
            v6: T6,
            v7: T7,
            v8: T8,
            v9: T9,
            v10: T10,
        ) => T11
      • callback: (
            v1: T1,
            v2: T2,
            v3: T3,
            v4: T4,
            v5: T5,
            v6: T6,
            v7: T7,
            v8: T8,
            v9: T9,
            v10: T10,
            v11: T11,
        ) => R

      Returns R

    • Type Parameters

      Parameters

      • create1: () => T1
      • create2: (v1: T1) => T2
      • create3: (v1: T1, v2: T2) => T3
      • create4: (v1: T1, v2: T2, v3: T3) => T4
      • create5: (v1: T1, v2: T2, v3: T3, v4: T4) => T5
      • create6: (v1: T1, v2: T2, v3: T3, v4: T4, v5: T5) => T6
      • create7: (v1: T1, v2: T2, v3: T3, v4: T4, v5: T5, v6: T6) => T7
      • create8: (v1: T1, v2: T2, v3: T3, v4: T4, v5: T5, v6: T6, v7: T7) => T8
      • create9: (v1: T1, v2: T2, v3: T3, v4: T4, v5: T5, v6: T6, v7: T7, v8: T8) => T9
      • create10: (v1: T1, v2: T2, v3: T3, v4: T4, v5: T5, v6: T6, v7: T7, v8: T8, v9: T9) => T10
      • create11: (
            v1: T1,
            v2: T2,
            v3: T3,
            v4: T4,
            v5: T5,
            v6: T6,
            v7: T7,
            v8: T8,
            v9: T9,
            v10: T10,
        ) => T11
      • create12: (
            v1: T1,
            v2: T2,
            v3: T3,
            v4: T4,
            v5: T5,
            v6: T6,
            v7: T7,
            v8: T8,
            v9: T9,
            v10: T10,
            v11: T11,
        ) => T12
      • callback: (
            v1: T1,
            v2: T2,
            v3: T3,
            v4: T4,
            v5: T5,
            v6: T6,
            v7: T7,
            v8: T8,
            v9: T9,
            v10: T10,
            v11: T11,
            v12: T12,
        ) => R

      Returns R

    • Type Parameters

      Parameters

      • create1: () => T1
      • create2: (v1: T1) => T2
      • create3: (v1: T1, v2: T2) => T3
      • create4: (v1: T1, v2: T2, v3: T3) => T4
      • create5: (v1: T1, v2: T2, v3: T3, v4: T4) => T5
      • create6: (v1: T1, v2: T2, v3: T3, v4: T4, v5: T5) => T6
      • create7: (v1: T1, v2: T2, v3: T3, v4: T4, v5: T5, v6: T6) => T7
      • create8: (v1: T1, v2: T2, v3: T3, v4: T4, v5: T5, v6: T6, v7: T7) => T8
      • create9: (v1: T1, v2: T2, v3: T3, v4: T4, v5: T5, v6: T6, v7: T7, v8: T8) => T9
      • create10: (v1: T1, v2: T2, v3: T3, v4: T4, v5: T5, v6: T6, v7: T7, v8: T8, v9: T9) => T10
      • create11: (
            v1: T1,
            v2: T2,
            v3: T3,
            v4: T4,
            v5: T5,
            v6: T6,
            v7: T7,
            v8: T8,
            v9: T9,
            v10: T10,
        ) => T11
      • create12: (
            v1: T1,
            v2: T2,
            v3: T3,
            v4: T4,
            v5: T5,
            v6: T6,
            v7: T7,
            v8: T8,
            v9: T9,
            v10: T10,
            v11: T11,
        ) => T12
      • create13: (
            v1: T1,
            v2: T2,
            v3: T3,
            v4: T4,
            v5: T5,
            v6: T6,
            v7: T7,
            v8: T8,
            v9: T9,
            v10: T10,
            v11: T11,
            v12: T12,
        ) => T13
      • callback: (
            v1: T1,
            v2: T2,
            v3: T3,
            v4: T4,
            v5: T5,
            v6: T6,
            v7: T7,
            v8: T8,
            v9: T9,
            v10: T10,
            v11: T11,
            v12: T12,
            v13: T13,
        ) => R

      Returns R

    • Type Parameters

      Parameters

      • create1: () => T1
      • create2: (v1: T1) => T2
      • create3: (v1: T1, v2: T2) => T3
      • create4: (v1: T1, v2: T2, v3: T3) => T4
      • create5: (v1: T1, v2: T2, v3: T3, v4: T4) => T5
      • create6: (v1: T1, v2: T2, v3: T3, v4: T4, v5: T5) => T6
      • create7: (v1: T1, v2: T2, v3: T3, v4: T4, v5: T5, v6: T6) => T7
      • create8: (v1: T1, v2: T2, v3: T3, v4: T4, v5: T5, v6: T6, v7: T7) => T8
      • create9: (v1: T1, v2: T2, v3: T3, v4: T4, v5: T5, v6: T6, v7: T7, v8: T8) => T9
      • create10: (v1: T1, v2: T2, v3: T3, v4: T4, v5: T5, v6: T6, v7: T7, v8: T8, v9: T9) => T10
      • create11: (
            v1: T1,
            v2: T2,
            v3: T3,
            v4: T4,
            v5: T5,
            v6: T6,
            v7: T7,
            v8: T8,
            v9: T9,
            v10: T10,
        ) => T11
      • create12: (
            v1: T1,
            v2: T2,
            v3: T3,
            v4: T4,
            v5: T5,
            v6: T6,
            v7: T7,
            v8: T8,
            v9: T9,
            v10: T10,
            v11: T11,
        ) => T12
      • create13: (
            v1: T1,
            v2: T2,
            v3: T3,
            v4: T4,
            v5: T5,
            v6: T6,
            v7: T7,
            v8: T8,
            v9: T9,
            v10: T10,
            v11: T11,
            v12: T12,
        ) => T13
      • create14: (
            v1: T1,
            v2: T2,
            v3: T3,
            v4: T4,
            v5: T5,
            v6: T6,
            v7: T7,
            v8: T8,
            v9: T9,
            v10: T10,
            v11: T11,
            v12: T12,
            v13: T13,
        ) => T14
      • callback: (
            v1: T1,
            v2: T2,
            v3: T3,
            v4: T4,
            v5: T5,
            v6: T6,
            v7: T7,
            v8: T8,
            v9: T9,
            v10: T10,
            v11: T11,
            v12: T12,
            v13: T13,
            v14: T14,
        ) => R

      Returns R

    • Type Parameters

      Parameters

      • create1: () => T1
      • create2: (v1: T1) => T2
      • create3: (v1: T1, v2: T2) => T3
      • create4: (v1: T1, v2: T2, v3: T3) => T4
      • create5: (v1: T1, v2: T2, v3: T3, v4: T4) => T5
      • create6: (v1: T1, v2: T2, v3: T3, v4: T4, v5: T5) => T6
      • create7: (v1: T1, v2: T2, v3: T3, v4: T4, v5: T5, v6: T6) => T7
      • create8: (v1: T1, v2: T2, v3: T3, v4: T4, v5: T5, v6: T6, v7: T7) => T8
      • create9: (v1: T1, v2: T2, v3: T3, v4: T4, v5: T5, v6: T6, v7: T7, v8: T8) => T9
      • create10: (v1: T1, v2: T2, v3: T3, v4: T4, v5: T5, v6: T6, v7: T7, v8: T8, v9: T9) => T10
      • create11: (
            v1: T1,
            v2: T2,
            v3: T3,
            v4: T4,
            v5: T5,
            v6: T6,
            v7: T7,
            v8: T8,
            v9: T9,
            v10: T10,
        ) => T11
      • create12: (
            v1: T1,
            v2: T2,
            v3: T3,
            v4: T4,
            v5: T5,
            v6: T6,
            v7: T7,
            v8: T8,
            v9: T9,
            v10: T10,
            v11: T11,
        ) => T12
      • create13: (
            v1: T1,
            v2: T2,
            v3: T3,
            v4: T4,
            v5: T5,
            v6: T6,
            v7: T7,
            v8: T8,
            v9: T9,
            v10: T10,
            v11: T11,
            v12: T12,
        ) => T13
      • create14: (
            v1: T1,
            v2: T2,
            v3: T3,
            v4: T4,
            v5: T5,
            v6: T6,
            v7: T7,
            v8: T8,
            v9: T9,
            v10: T10,
            v11: T11,
            v12: T12,
            v13: T13,
        ) => T14
      • create15: (
            v1: T1,
            v2: T2,
            v3: T3,
            v4: T4,
            v5: T5,
            v6: T6,
            v7: T7,
            v8: T8,
            v9: T9,
            v10: T10,
            v11: T11,
            v12: T12,
            v13: T13,
            v14: T14,
        ) => T15
      • create16: (
            v1: T1,
            v2: T2,
            v3: T3,
            v4: T4,
            v5: T5,
            v6: T6,
            v7: T7,
            v8: T8,
            v9: T9,
            v10: T10,
            v11: T11,
            v12: T12,
            v13: T13,
            v14: T14,
            v15: T15,
        ) => T16
      • callback: (
            v1: T1,
            v2: T2,
            v3: T3,
            v4: T4,
            v5: T5,
            v6: T6,
            v7: T7,
            v8: T8,
            v9: T9,
            v10: T10,
            v11: T11,
            v12: T12,
            v13: T13,
            v14: T14,
            v15: T15,
            v16: T16,
        ) => R

      Returns R